【发布时间】:2015-09-29 17:00:47
【问题描述】:
我正在使用 Makefile 来编译我的 cpp 文件和头文件。但是我不完全理解的是编译时 -o 和 -c 之间的区别。 我知道 -o 创建一个目标文件,通常我们写 “g++ -o 编译 demo.cpp” 编译程序demo.cpp。 但是当编译一个有很多类的程序时,我们为什么要使用 “g++ -c 类.cpp” 而不是 -o 像我们通常做的那样。这是一个示例 Makefile。非常感谢您帮助我!
all:compile
compile: demo.cpp class.o
g++ -o compile demo.cpp class.o
class.o: class.h class.cpp
g++ -c class.cpp
【问题讨论】:
-
-o仅表示output name。-c表示compile only, don't link。您的示例的更完整(非默认)版本可能会显示g++ -c class.cpp -o class.o。