如何在不使用makefile的情况下链接多个文件?

时间:2013-09-30 21:36:28

标签: c++ linker terminal g++

例如,我给了 carModels.cpp carModels.h carType.in manufacturers.h。 / em>, manufacturers.o ,最后是我自己的文件 tester.cpp 。如何在Linux终端中使用g ++链接所有这些?我是否必须创建任何其他“.o”文件?我应该假设给定的文件已经有效。终端中的多行很好,我只想清楚地了解它。 (我来自一个我并不真正关心的C ++ IDE。)

3 个答案:

答案 0 :(得分:0)

你可以分两步完成,先编译成* .o文件,

 gcc -c your.cpp other.cpp .....

然后链接他们

gcc -o you_out_put_name the_object_files.o ...

答案 1 :(得分:0)

将每个源文件编译为自己的目标文件:

g++ -I . -c carModels.cpp -o carModels.o
g++ -I . -c tester.cpp -o tester.o

现在将所有目标文件链接在一起:

g++ carModels.o tester.o manufacturers.o -o outputname

根据需要考虑添加更多选项,例如-O3-std=c++11-Wall等。

答案 2 :(得分:0)

在一行中,这只是g++ -o tester *.cpp *.o。海湾合作委员会将把一切都排序特别是,*.h文件通过#include ""文件中的.cpp语句引用。