直接编译
全部一起编译
g++ main.cpp factorial.cpp printhello.cpp -o main
分开编译
生成*.o文件。
g++ main.cpp -c
g++ factorial.cpp -c
链接在一起。
g++ *.o -o main
Makefile文件
文件名
Makefile
注释方式
井号
#
编译方式
如果名字不叫Makefile
make -f xxx
如果名字就叫Makefile
make
执行完make再执行make
make: `hello` is up to date
查看到各个.cpp文件的更新时间都早于hello的生成时间
版本一
生成的可执行程序是hello,hello的生成是依赖于三个cpp文件。
用g++的命令生成这个目标hello
hello: main.cpp printhello.cpp factorial.cpp
g++ -o hello main.cpp printhello.cpp factorial.cpp
g++前边需要有tab符。
版本二
- 定义一个变量叫CXX,指定编译器。
- TARGET是目标
CXX = g++
TARGET = hello
OBJ = main.o printhello.o factorial.o