C++ 包含目录、库目录、附加包含目录、附加库目录、附加依赖项之详解(转)

最近由于接触机器学习,全部涉猎到C++方面的开发。在c++中有几个概念很迷糊。c++

 

VS项目中的包含目录、库目录、附加包含目录、附加库目录、附加依赖项均在"项目->属性->配置属性"下进行配置,具体说明以下:机器学习

 

VC++目录:函数

    包含目录:寻找#include<xxxx.h>中的xxxx.h的搜索目录学习

    库目录:寻找.lib文件的搜索目录spa

C/C++:.net

    常规->附加包含目录:寻找#include<xxxx.h>中的xxxx.h的搜索目录(每一项对应一个文件夹XXXX,文件夹中包含了编译时所需的头文件,使用时直接#include<XXXX>便可)blog

连接器:开发

    常规->附加库目录:寻找.lib文件的搜索目录字符串

    输入->附加依赖项:lib库(C++的库会把函数、类的声明放在*.h中,实现放在*.cpp或*.cc中。编译以后,*.cpp,*.cc,*.c会被打包成一个.lib文件,这样能够保护源代码)get

 

常见问题:

1.包含目录和附加包含目录(库目录和附加库目录)的区别:

    包含目录:修改了系统的include宏的值,是全局的;

    附加包含目录:用于当前项目,对其余项目没有影响。

    (库目录和附加库目录的区别同上)

2.可知包含目录和附加包含目录(库目录和附加库目录)的区别主要在于全局仍是当前,那么当须要对某工程添加这些目录时,一般状况下,都是在附加包含目录和附加库目录中添加的。

3. 要使用一个库,除了要include其头文件之外(附加包含目录),还要在连接过程当中把lib加进去(附加库目录、附加依赖项)。

4.添加方法:

    附加包含目录---添加工程的头文件目录:

      项目->属性->配置属性->C/C++->常规->附加包含目录:加上头文件的存放目录;

    附加库目录---添加文件引用的lib静态库路径:

      项目->属性->配置属性->连接器->常规->附加库目录:加上lib文件的存放目录;

    附加依赖项---添加工程引用的lib文件名:

      项目->属性->配置属性->连接器->输入->附加依赖项:加上lib文件名。

5.当须要向项目中添加.dll动态连接库时,直接将须要添加的.dll文件拖拽到项目生成的.exe所在的文件夹下便可(项目->属性->配置属性->常规->输出目录,能够看到.exe生成在哪一个目录下)。

6.在添加上述几个目录的路径的时候,能够看到$(xxxx),这就是宏了,能够点开右下角的宏查看这些分别表明什么字符串。

原文地址

相关文章
相关标签/搜索