微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

一起编译几个文件?

如何解决一起编译几个文件?

| 我有 数据文件 数据 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 举报,一经查实,本站将立刻删除。