0

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なしでファイルをコンパイルすることです。

与えられたケースに対してこのようなことをすることは可能ですか?...はいの場合、あなたの提案は本当にありがたいです!

4

1 に答える 1

2

main()関数がtest.cppにあり、「test」という名前の実行可能ファイルが必要な場合は、makeを呼び出すディレクトリから直接コンパイラを呼び出すことができます。

 g++ test.cpp -O3 -finline-functions -I. -I./qpoases/INCLUDE -I./qpoases/SRC -lm -o test ./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
于 2013-02-14T22:34:25.533 に答える