假设现在有两个源文件、两个头文件。路径如下:
Proj
|__ a.c
|__ source
| |__ b.c
|__ header
|__ a.h
|__ inc
|__ b.h
在代码中,以#include ""方式指定头文件包含。则在编译时搜索头文件,都是以当前源文件所在目录为基准目录搜索的。
即,如果在a.c里写了:
#include "a.h"
#include "b.h"
需要设置Additional Include Directories为./header; ./header/inc
如果在b.c里写了:
#include "a.h"
#include "b.h"
需要设置Additional Include Directories为../header; ../header/inc。
这样在VS的工程选项里就要填很多明显重复的目录设置。
简单方法:可以利用VS工程内置的一些环境变量。例如,上图中的Proj目录对应的环境变量为:$(ProjectDir)。则Additional Include Directories可以简单设置为:
$(ProjectDir)header; $(ProjectDir)header/inc