1.宏
在任意目录路径编辑面板中的$(xx)就是宏路径,可以进一步查看宏背后的属性
通过宏,可以更轻松地在计算机之间和 Visual Studio 版本之间共享属性设置
2 目录
2.1 在VC++中设置
包含目录:寻找#include<xxxx.h>中的xxxx.h的搜索目录,查找.h文件的路径
库目录:寻找.lib文件的搜索目录,查找.lib文件的路径
2.2 在C/C++中
附加包含目录:同包含目录(用于当前项目,对其他项目没有影响)
2.3 在链接器中设置
附加库目录:同库目录,(用于当前项目,对其他项目没有影响)
2.4 编译器查找目录顺序
The compiler searches for directories in the following order:
- 包含源文件source file的目录。
- Directories specified with the /I option, in the order that CL encounters them.
- Directories specified in the INCLUDE environment variable.
其中Order2中的/I是由C/C++ -> General -> Additional Include Directories设置的。
而Order3中的INCLUDE是由VC++ Directories -> Include Directories设置的。
3 依赖项
生成包含多个项目的解决方案时,可能需要首先生成某些项目,然后才能生成由其他项目使用的已编译的二进制文件。 当一个项目使用另一个项目生成的输出时,生成输出的项目称为使用输出的项目的项目依赖项。 可在“项目依赖项”对话框中定义此类依赖关系。
3.1 在链接器中设置
附加依赖项:具体指定需要包括的.lib文件
4. 总结
包含目录和附加包含目录(库目录和附加库目录)的区别主要在于全局还是当前,那么当需要对某工程添加这些目录时,通常情况下,都是在附加包含目录和附加库目录中添加的,原因个人认为正是因为应该尽量避免以免宏多杂造成的不规范问题。
要使用一个库,除了要include其头文件以外(附加包含目录),还要在链接过程中把lib加进去(附加库目录、附加依赖项)。
添加方法:
附加包含目录---添加工程的头文件目录:
项目->属性->配置属性->C/C++->常规->附加包含目录:加上头文件的存放目录;
附加库目录---添加文件引用的lib静态库路径:
项目->属性->配置属性->链接器->常规->附加库目录:加上lib文件的存放目录;
附加依赖项---添加工程引用的lib文件名:
项目->属性->配置属性->链接器->输入->附加依赖项:加上lib文件名。
若要要添加的.dll文件拖拽到项目生成的.exe所在的文件夹下即可(项目->属性->配置属性->常规->输出目录,可以看到.exe生成在哪个目录下)。