我希望能够在不使用makefile的情况下编译C++源文件。这里是我的问题的原型......我有以下.cpp
文件如何在不使用makefile的情况下链接目标文件和库
// 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
文件成功
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 [email protected] $?
${OBJECTS} : ./qpoases/solver.hpp
.PHONY : clean
clean :
-rm -f *.o *.a ./qpoases/SRC/*.o ./qpoases/SRC/*.a test
相同的目录现在,为了我的目的,我想从.cpp
文件目录中删除此生成文件。同时,我想能够编译.cpp
文件...
即使知道目标文件和库的生成文件是指将在其各自的目录....
所以,我想要做的一切就是编译.cpp
文件,而不需要makefile。
对于给定的情况是否可以这样做? ...如果是的话,你的建议真的很感激!
确切在哪里问题是什么?只需手动重现makefile中的步骤即可。 – us2012 2013-02-14 21:50:24
有时候我想知道在这里发帖的人是否是受虐狂。如果它不想在不使用C库的情况下艰难地完成任务,那么它就会在不使用make的情况下艰难地完成任务。是的,你可以通过编写一个编译所有文件的脚本文件来完成这项工作(每一次,因此需要比使用make更长的时间) - 只需将makefile包含的所有命令放入脚本文件即可。如果你不喜欢这个想法,为什么不直接用手工输入呢? – 2013-02-14 22:04:08
只要不制作,你可以使用另一个构建系统吗? – juanchopanza 2013-02-14 22:11:34