1 假设都在同一个文件夹下
main.cpp func.cpp func.h
a> g++ -c func.cpp 生成 func.o 文件
b> g++ -c main.cpp 生成 main.o文件
c> g++ main.o func.o -o demo 将多个文件链接生成 demo.exe
一般不对.h 文件进行编译
include 'func.h' 从当前文件寻找头文件
include <func.h> 先搜索 -i 的指定路径, 然后寻找本地路径
2 不在同一个文件夹下
则应该遵循如下风格, 编译则需要添加参数 -I 指定路径
| --func1
| |--func1.cpp
| |--func1.h
| -- func2
| |--func2.cpp
| |--func2.h
| -- main
| |--main.cpp
3 -I 指定操作的路径
-c 将文件编译, 但是不链接, 将代码变成机器码
g++ -c func.cpp -o func.o
-o 链接器: 将.o文件和依赖的库文件 链接起来 编译成可执行的文件
gcc -o main main.o ../myinclude/myhead.o
4 编译要求
a> 如果工程所有文件都没有编译过,则所有的都需要编译,并链接
b> 如果部分文件被修改,则编译部分文件 并链接目标
c> 如果头文件被修改 只需要编译引用头文件的文件并链接