zoukankan      html  css  js  c++  java
  • VS中包含目录、附加包含目录、库目录、附加库目录及附加依赖项的继承关系

     ——系统属性表(X64和win32之间各自独立,无继承关系)

    问题:

    1. 在visual studio中配置第三方代码库时涉及到包含目录、附加包含目录和库目录,那么Include Directories和Additional Include Directories,以及Library Directories和Additional Library Directories作用是什么?
    2. 系统属性表的包含目录、附加包含目录与项目的包含目录附加包含目录又怎样的继承关系?如何设置呢?

    VS中C++的包含目录、附加包含目录和库目录以及附加库目录:

    • 作用

                  包含目录、附加包含目录:寻找代码中头文件所在的搜索目录,目录不是头文件。

                  库目录、附加库目录寻找.lib文件的搜索目录

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

    • 区别

    MSDN上的解释如下:

    The compiler searches for directories in the following order:

    1. Directories containing the source file.
    2. Directories specified with the Additional Include Directories.
    3. Directories specified in the INCLUDE environment variable.


    首先:从这里看出,附加二字仅仅对编译过程中头文件的搜索链接顺序有影响,其他方面与包含xx无任何影响!

    1、系统属性表中的继承关系:

    特点:

    • 全局性,对所有项目都会产生继承。
    • debug设置和release设置都会互相继承

     

    2、项目属性表中的继承关系:

    特点:

    • 局部性,只对本项目负责,对系统属性没有影响。
    • debug设置和release设置不会互相继承。

    因此,总结出两种设置方法:

    第一种:只在 包含目录 设置头文件包含,且只在 库目录 设置库文件路径,然后 附加依赖库 指明库名lib

    第二种:只在 附加包含目录 设置头文件包含,且只在 附加库目录 设置库文件路径,然后 附加依赖库 指明库名lib。但是为提高编译时的搜索效率,需要确保在包含目录填入$(IncludePath),继承VS自身的一些基本头文件。

                               

    注:

    1、附加库目录+附加依赖项共同构成了lib依赖库的完整路径

    2、当需要向项目中添加.dll动态链接库时,

    • 方法一:设置dll的环境变量
    • 方法二:拷贝dll至exe执行目录.(exe生成目录位置:项目->属性->配置属性->常规->输出目录)。
  • 相关阅读:
    8 盒子模型
    7 display属性
    如何提高运维价值体系
    Python学习之OS模块初识
    7、MongoDB学习之游标
    Python 学习之文件对象的属性和方法简介
    Python集合set()操作详解
    Python中的字典介绍
    Python序列之元组
    Python序列之列表
  • 原文地址:https://www.cnblogs.com/Henry-ZHAO/p/12725225.html
Copyright © 2011-2022 走看看