makefileを使用せずにc++ソースファイルをコンパイルできるようにしたいと思います。そして、これが私の問題のプロトタイプです...私は次の.cpp
ファイルを持っています
// special libraries to include
#include "acado.h"
#include "auxiliary_functions.c"
/* -------------------------- */
// Create objects for special classes
ACADOvariables acadoVariables;
ACADOworkspace acadoWorkspace;
int main(){
// perform task A_1
// perform task A_2
// Tasks A_1 and A_2 depend on the specially included headers
return 0;
}
.cpp
同じディレクトリに、ファイルを正常にコンパイルできる次のmakefileがあります。
LDLIBS = -lm
CXXFLAGS = -O3 -finline-functions -I. -I./qpoases/INCLUDE -I./qpoases/SRC
CFLAGS = -O3
CC = g++
OBJECTS = \
./qpoases/SRC/QProblemB.o \
./qpoases/SRC/Bounds.o \
./qpoases/SRC/Constraints.o \
./qpoases/SRC/SubjectTo.o \
./qpoases/SRC/Indexlist.o \
./qpoases/SRC/CyclingManager.o \
./qpoases/SRC/Utils.o \
./qpoases/SRC/MessageHandling.o \
./qpoases/solver.o \
integrator.o \
condensing.o \
gauss_newton_method.o
.PHONY: all
all: test libacado_exported_rti.a
test: ${OBJECTS} test.o
./qpoases/solver.o : ./qpoases/solver.hpp
integrator.o : acado.h
condensing.o : acado.h
gauss_newton_method.o : acado.h ./qpoases/solver.hpp
test.o : acado.h ./qpoases/solver.hpp
libacado_exported_rti.a: ${OBJECTS}
ar r $@ $?
${OBJECTS} : ./qpoases/solver.hpp
.PHONY : clean
clean :
-rm -f *.o *.a ./qpoases/SRC/*.o ./qpoases/SRC/*.a test
.cpp
ここで、私の目的のために、このmakefileをファイルディレクトリから削除したいと思います。同時に、.cpp
ファイルをコンパイルできるようにしたいと思います...
makefileが参照するオブジェクトファイルとライブラリがそれぞれのディレクトリにあることを知っています...。
だから、私がやりたいのは.cpp
、makefileなしでファイルをコンパイルすることです。
与えられたケースに対してこのようなことをすることは可能ですか?...はいの場合、あなたの提案は本当にありがたいです!