我有
Main.cpp需要data.cpp和user.cpp。我如何链接或编译它们?他们都在同一个目录中? (请更具体,比如首先要编译的文件。)
我的系统是:Mac OS X,终端中的g ++编译器。
答案 0 :(得分:3)
最简单的方法:
g++ Data.cpp User.cpp main.cpp
更高级的方法:使用makefile
答案 1 :(得分:2)
试试这个:
g++ main.cpp Data.cpp User.cpp -o myexecutable
所有源文件都是单独编译的,因此顺序并不重要。编译之后,g ++也会进行链接。
答案 2 :(得分:1)
将每个单独编译为目标文件。 然后将目标文件链接到应用程序。
答案 3 :(得分:0)
我猜你是在说错话:
Main.cpp
不需要user.cpp
:他只需要在user.cpp
中实现类型的定义。这就是为什么您只需要在user.h
中加入Main.cpp
。
通常,每个.cpp
文件都会变成自己的翻译单元,并提供不同的目标文件。然后在链接进程发生时汇编这些文件。
基本上,步骤是:
.cpp
),您生成目标文件(编译)。通常,人们使用Makefile
甚至更好的工具:SConstruct
来自动执行这些步骤。
SConstruct
很好,因为它还会在编译之前解析源文件并构建依赖树,以确保一切顺利。
答案 4 :(得分:0)
最快的方式是
g++ main.cpp Data.cpp User.cpp -o program_name