假设这样一个场景,工程 A 依赖第三方库 B 和 C
B 的目录树是
include
└── interface
└── interface.h
C 的目录树是
include
└── interface
└── interface.h
A 的 main 函数使用了
#include "interface/interface.h"
这个时候,我们使用的是哪个依赖库里的头文件呢,这跟我们的编译声明顺序有关
比如我用的 cmake,我的 CMakeLists 用 include_directories 包含头文件时,先引用的 B 的头文件,那最终使用的就是 B 的头文件,遵循一个先来后到原则,先声明的优先使用,后面再声明 C 的头文件引用也没用