【发布时间】:2012-03-22 03:06:21
【问题描述】:
我有三个文件:movie.h(标题); movie.cpp(实现文件); lab9.cpp(使用电影类的驱动文件)
我收到了这个关于如何生成 makefile 来编译上述文件的示例:
http://sci.tamucc.edu/~ptedford/1436Spr12/1436CommonFiles/MakeFileExample.txt
但是,我仍然无法理解这里的概念(我什至不知道在哪里填写我的文件名,因为示例文件名让我感到困惑(例如:main.o 应该在这里代表什么?) )。
谁能帮我理解这一点(带有解释的解决方案),以便生成一个名为 lab9 的单个可执行文件?
编辑:我的 makefile 中有以下内容:
linkAndRun: lab9.o movie.o
g++ movie.o lab9.o -o lab9
movie.o: movie.cpp movie.h
g++ -c movie.cpp -o movie.o
lab9.o: lab9.cpp
g++ -c lab9.cpp -o lab9.o
我遇到了几个编译错误,但编译本身似乎是成功的。它是否正确?到目前为止提供的两个答案都有差异,所以我结合了我觉得是正确的东西。所以确认会有所帮助。
【问题讨论】:
-
Erm,取你的文件名,替换示例中的文件名。完成。
-
其中一个文件中是否包含
main()的定义? -
@BrianRoach 我理解你的心态,你完全有权就这个可能很愚蠢的问题叫我出来,但无论如何......我很困惑。特别是我没有使用 subfile1 和 subfile2 编译语句。似乎不需要其中之一。
-
好吧,你只有 2 个文件要编译,而不是 3 个,所以是的,你不会有 3 个。
-
如果构建成功,您遇到的不是错误,而是警告。它们不是致命的,但可以告诉您可能错误并可能在未来引起麻烦的事情。尝试修复警告总是一个好主意。
标签: c++ compilation