如何解决一起编译几个文件?
| 我有 数据文件 数据 User.cpp 用户名 main.cpp Main.cpp需要data.cpp和user.cpp。如何链接或编译它们?他们都在同一个目录中吗? (请更具体,例如先编译哪个文件。) 我的系统是:Mac OS X,终端中的g ++编译器。解决方法
最简单的方法:
g++ Data.cpp User.cpp main.cpp
更高级的方法:使用makefile
,尝试这个:
g++ main.cpp Data.cpp User.cpp -o myexecutable
所有源文件都是单独编译的,因此顺序并不重要。编译后,g ++也会执行链接。
,将每个文件分别编译为目标文件。
然后将目标文件链接到应用程序。
,我想您是在以错误的方式陈述事情:
Main.cpp
不需要user.cpp
:他只需要定义在user.cpp
中实现的类型的定义即可。这就是为什么只需要在Main.cpp
中包含user.h
的原因。
通常,每个“ 7”文件都转换成自己的翻译单元并提供不同的目标文件。然后,在链接过程发生时,将组装这些文件。
基本上,这些步骤是:
对于每个源文件(.cpp
),都会生成一个目标文件(编译)。
您可以将这些目标文件组装成最终的二进制文件(链接)。
通常,人们使用ѭ9或更好的工具:SConstruct
来自动执行这些步骤。
ѭ10是个好方法,因为它还会在编译之前解析源文件并构建一个依赖关系树,以确保一切正常。
,最快的方法是
g++ main.cpp Data.cpp User.cpp -o program_name
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。