例如,我得到了carModels.cpp、carModels.h、carType.in、Manufacturers.h、Manufacturers.o,最后是我自己的文件tester.cpp。我将如何在 Linux 终端中使用 g++ 链接所有这些?我需要创建任何额外的“.o”文件吗?我应该假设给定的文件已经工作。终端中的多行很好,我只是想清楚地了解它。(我来自一个我并不真正关心的 C++ IDE。)
问问题
339 次
3 回答
0
您可以分两步执行此操作,首先编译为 *.o 文件,
gcc -c your.cpp other.cpp .....
然后链接它们
gcc -o you_out_put_name the_object_files.o ...
于 2013-09-30T21:38:36.173 回答
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
等。
于 2013-09-30T21:51:00.367 回答
0
在一行中,那将是g++ -o tester *.cpp *.o
. GCC 将解决所有问题。特别是,这些*.h
文件是通过文件中#include ""
的语句引用的.cpp
。
于 2013-09-30T21:57:57.333 回答