精华内容
下载资源
问答
  • 前言:最近做opencv的配置与开发的时候发现opencv我们有多种配置方式,在项目属性里面有几个很重要的配置概念,重点是下面四个,包含目录、附加包含目录、库目录、附加库目录,那么到底有什么区别呢? 一、opencv...

    前言:最近做opencv的配置与开发的时候发现opencv我们有多种配置方式,在项目属性里面有几个很重要的配置概念,重点是下面四个,包含目录、附加包含目录、库目录、附加库目录,那么到底有什么区别呢?

    一、opencv配置简介

    在配置opencv的时候必须要配置三样东西

    • 头文件包含路径:即所谓的  包含目录  或者是  附加包含目录
    • 库文件路径:即所谓的  库目录  或者是  附加库目录
    • 附加链接库:

    对于头文件和库文件的配置,有两种方式可以实现,

    Visual Studio C++工程中,右键一个Project,可以发现有两个地方设置Include的相关目录和lib的相关目录,分别如下:

    1. VC++ 目录 -> 包含目录与库目录


    2. 附加包含目录与附加库目录

    这两个不在一个选项卡中,分别在不同的选项卡。如下:

    C/C++ -> 常规 -> 附加包含目录

    链接器 ->常规 -> 附加库目录

    那么它们之间到底有什么区别呢?

    (1)包含目录 vs 附加包含目录

    其实他们最大的不同仅仅是在于编译器寻找头文件的顺序不同而已,如下:

    MSVC编译器寻找头文件的顺序(这里与前面的那篇文章里面讲的Ming-w64中GCC和G++的搜索顺序是一样的):

    1. 源文件代码所在的文件夹中寻找头文件(即包含文件);
    2. 在使用MSVC编译的时候,通过参数 /I 来指定的搜索目录;(相当于是“附加包含目录”设置的)
    3. 通过 INCLUDE 环境变量指定的搜索目录;(相当于是“包含目录”设置的)

    注意:

    1. 其中第二个顺序中的 /I 是由 C/C++ -> 常规-> 附加包含目录  来设置的。
    2. 而第三个顺序中的 INCLUDE 环境变量 是由  VC++目录 -> 包含目录  来设置的。

    (2)库目录 vs 附加库目录

    同上面的道理,

    MSVC编译器寻找库文件(主要是指静态库,因为在编译的时候只需要静态库,动态库是在运行的时候才需要的)的顺序:

    1. 源文件代码所在的文件夹中寻找库文件(即静态库文件);
    2. 在使用MSVC编译的时候,通过参数 /link 来指定的搜索目录;(相当于是“附加库目录”设置的)
    3. 通过 LIB 环境变量指定的搜索目录;(相当于是“库目录”设置的)

    注意:

    1. 其中第二个顺序中的 /link 是由 链接器 -> 常规-> 附加包含目录  来设置的。
    2. 而第三个顺序中的 LIB 环境变量 是由  VC++目录 -> 包含目录  来设置的。

    所以在VS中开发C++程序,我们可以通过上面的两种方式去选择配置。

    有人推荐

    就是说我们一般使用  C/C++和链接器 下面的设置,而一般不建议使用  VC++目录  下面的设置,个人觉得这么做的原因是因为前者的搜索顺序在前面,所以优先使用,而且不需要环境变量,但是对于VS来说,我个人感觉差别不大,及遍布设置环境变量,依然可以使用,参见我的另一篇文章:

    VSCode开发C、C++环境搭建系列(三)——基于MSVC搭建

     

    (3)附加链接库的指定

    这是最后一步,附加链接库的指定,即显示的指明在 库目录 中,显示指定链接到哪一个静态库文件,指定的方式都是一样的:

    展开全文
  • c/c++, 附加库目录,代表的是c/c++文件编译时所需要的头文件,而资源编译时也是需要附加包含库目录的, 而vc++的包含目录,代表的是全局项目的包含目录 配置过VC++里面的库,C/C++里面的就可以不用配置...

    c/c++, 附加库目录,代表的是c/c++文件编译时所需要的头文件,而资源编译时也是需要附加包含库目录的,

    而vc++的包含目录,代表的是全局项目的包含目录

    配置过VC++里面的库,C/C++里面的就可以不用配置

    VS项目中的包含目录、库目录、附加包含目录、附加库目录、附加依赖项均在”项目->属性->配置属性”下进行配置,具体说明如下:

    VC++目录:

    包含目录:寻找#include<xxxx.h>中的xxxx.h的搜索目录
    
    库目录:寻找.lib文件的搜索目录
    

    C/C++:

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

    链接器:

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

    常见问题:

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

    包含目录:修改了系统的include宏的值,是全局的;
    
    附加包含目录:用于当前项目,对其他项目没有影响。
    
    (库目录和附加库目录的区别同上)
    

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

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

    4.添加方法:

    附加包含目录---添加工程的头文件目录:
    
      项目->属性->配置属性->C/C++->常规->附加包含目录:加上头文件的存放目录;
    
    附加库目录---添加文件引用的lib静态库路径:
    
      项目->属性->配置属性->链接器->常规->附加库目录:加上lib文件的存放目录;
    
    附加依赖项---添加工程引用的lib文件名:
    
      项目->属性->配置属性->链接器->输入->附加依赖项:加上lib文件名。
    

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

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

    展开全文
  • C/C++附加包含目录VC++目录包含目录区别?连接器常规附加库目录VC++目录库目录区别?连接器-输入-附加依赖项附加依赖项 是指输入项,如某个.LIB文件a.lib,添加到附加依赖项,你的LIB文件被真正包含进来了。等同...
    C/C++附加包含目录和VC++目录包含目录区别?
    连接器常规附加库目录和VC++目录库目录区别?
    连接器-输入-附加依赖项
    附加依赖项 是指输入项,如某个.LIB文件a.lib,添加到附加依赖项,你的LIB文件被真正包含进来了。等同于“#pragma comment(lib, "winsock.lib") ”语句
    附加库目录 是你用 #pragma comment(lib,"a.lib")的时候;此时就搜索a.lib的路径列表就包含这个路径。
    把它所在的目录添加到附加库目录里面 :仅仅包含目录只是告诉IDE,搜索没有指定路径的库文件时,也搜索这里。
    
    
    
    
    转载地址:http://www.cnblogs.com/lidabo/archive/2013/08/16/3261305.html
    展开全文
  • VS中C++的包含目录、附加包含目录和目录和附加库目录区别 对Visual Studio中C++的包含目录、附加包含目录和目录和附加库目录区别不是很清楚,参考别人的文章整理出来的。供大家分享学习! ...

    VS中C++的包含目录、附加包含目录和库目录和附加库目录的区别

    对Visual Studio中C++的包含目录、附加包含目录和库目录和附加库目录的区别不是很清楚,参考别人的文章整理出来的。供大家分享学习!

    Visual Studio C++工程中,右键一个Project,可以发现有两个地方设置Include的相关目录:

    1. VC++ Directories -> Include Directories
    2. C/C++ -> General -> Additional Include Directories

    MSDN上的解释如下:

    “VC++ Directories -> Include Directories” : Directory settings displayed in the window are the directories that Visual Studio will search for include files referred to in your source code files. Corresponds to environment variable INCLUDE. More information : http://msdn.microsoft.com/en-us/library/t9az1d21(v=vs.80).aspx

    “C/C++ -> General -> Additional Include Directories”: The directory to be added to the list of directories searched for include files. More information : http://msdn.microsoft.com/en-us/library/73f9s62w(v=vs.80).aspx


    下面这个链接中给出了编译器在编译过程中查找包含目录(Include文件)的顺序:

    The compiler searches for directories in the following order:

    1. Directories containing the source file.

    2. Directories specified with the /I option, in the order that CL encounters them.

    3. Directories specified in the INCLUDE environment variable.

    其中Order2中的/I是由C/C++ -> General -> Additional Include Directories设置的。

    而Order3中的INCLUDE是由VC++ Directories -> Include Directories设置的。

    同理,

    1. VC++ Directories -> LibraryDirectories
    2. Linker -> General -> Additional Library Directories

    也一样。


    所以在VS中开发C++程序,我们一般是这样设置的:

    In C++, you got the header files (.h), the (.lib) files and the (.dll) files.

    In Visual Studio, you provide the location to search for these files in three different places:

    1. Configuration Properties => C/C++ => General => Additional Include directories. Here you list out the "include" directories that you want searched and made available.

    2. Configuration Properties => Linker => General => Additional Library directories. Here you list out the "lib" directories that you want to be searched and made available.

    3. Configuration Properties => Linker => Input => Additional dependencies. Here you explicitly specify the .lib files that want to include.

    就是说我们一般使用C/C++和Linker下面的设置,而一般不建议使用VC++下面的设置
    展开全文
  • 如图所示, c/c++, 附加库目录,代表的是c/c++文件编译时所需要的头文件,而资源编译时也是需要附加包含库目录的, 而vc++的包含目录,代表的是全局项目的包含目录
  • 引用 http://blog.csdn.net/qing101hua/article/details/53841827 ...两个问题 在visual studio中配置第三方代码库时涉及到包含目录和目录,那么Include DirectoriesAdditional Include D
  • 安装了vs2010设置目录时出现疑惑一、查资料:1. 配置属性-》vc++ 目录-》包含目录(VC++ Directories -&gt; Include Directories): 修改了系统的include宏的值,是全局的;在使用的时候可以直接使用#include...
  • vs中有两种方法可以配置包含目录和目录,一种是通过视图-其他窗口-属性管理器打开,一种是通过通过点击项目右击属性修改。 第一种通过视图-其他窗口-属性管理器打开Microsoft.Cpp.Win32.user或Microsoft.Cpp.x64....
  • 一、vs项目中包含目录、库目录、附加包含目录、附加库目录和附加依赖项均在右键项目 ->属性 ->配置属性中调节。 1、VC++目录 (1)包含目录:添加路径 为了寻找#include<xxxx.h>的xxxx.h,也就是...
  • VS项目中的包含目录、库目录、附加包含目录、附加库目录、附加依赖项均在"项目->属性->配置属性"下进行配置,具体说明如下: VC++目录:  包含目录:寻找#include中的xxxx.h的搜索目录  库目录:寻找.lib文件的...
  • 参考文章:理解Golang导入,import、名、目录名的关系 理解Golang导入,import、名、目录名的关系 ... 和目录名没有关系,但是名最好与目录名相同 同一个目录下最多只能有一种名 ...
  • 读取jar所在目录和jar内文件

    千次阅读 2017-06-27 14:29:26
    在网上查找了很多关于读取jar的相对路径资料,但是大多都是读取jar内文件的方法介绍,甚至有人将读取内路径的... 读取目录路径,通常都是用ClassLoader 是类加载器的抽象类。   [java] view
  • rt 另外还有类似的问题,“库目录“附加库目录”的区别。 好像某种程度上可以通用?但是区别是什么呢?
  • 在使用opencv的时候,我们希望在一台机器上写的代码能在另外一台可能没有配置opencv或者opencv配置环境与你的...在配置VS的时候有时候让人很迷茫,包含目录、库目录、附加包含目录、附加库目录,附加依赖项这几个术语有
  • 因为培训机构的小伙伴没有接触过java,所以分不清jarwar的区别。 jar java的归档文件,java程序可以打包成jar jar就是别人写好的一些类,然后对这些类进行打包,开发人员可以将这些jar引入到自己的项目中...
  • 1、附加依赖项、库目录和包含目录是什么? 2、VS中怎么添加附加依赖项、库目录和包含目录包含目录:#include 中 .h的搜索目录。如果有XXX.h找不到,设置这个目录可以解决。附加依赖项:lib库 。 C++的库会把函数、...
  • jar包和war区别

    2018-07-13 11:17:39
    How:jar或war区别是怎样的?war是一个web模块,其中需要包括WEB-INF,是可以直接运行的WEB模块。而jar一般只是包括一些class文件,在声明了Main_class之后是可以用java命令运行的.它们都是压缩的...
  • VS项目中的包含目录、库目录、附加包含目录、附加库目录、附加依赖项均在"项目-&gt;属性-&gt;配置属性"下进行配置,具体说明如下: VC++目录:  包含目录:寻找#include&lt;xxxx.h&gt;...
  • VS项目中的包含目录、库目录、附加包含目录、附加库目录、附加依赖项均在”项目->属性->配置属性”下进行配置,具体说明如下:VC++目录:包含目录:寻找#include中的xxxx.h的搜索目录目录:寻找.lib文件的搜索目录...
  • 源码、rpm包和yum区别

    千次阅读 2018-07-26 09:54:21
    1.区别 源码是开源的,比RPM安装更自由,但是它...而源码是人为手工设置的,下面我们就来看看到底位置有什么区别 2.RPM安装位置 RPM默认安装路径 /etc/ 配置文件安装目录 /usr/bin/ 可执行的命令安装...
  •  我们都知道最简单的部署web项目的方式是打成war直接仍在tomcat的webapps目录下,我上个项目也确实是这样做的,可是这给我们后期的维护带来了极大的不便,下面就简单研究一下以war部署解开部署的区别。...
  • When to use Directory over Python Package? Reddit回答: A package is something you can import into your Python ... 不是每个子目录都有必要设置成package,比如对于docstests这些,我们直接可以使用目录即可。
  • AUTOSCROLL TO SOURCE:在项目视图的目录树单击文件,编辑器自动打开文件。 AUTOSCROLL FROM SOURCE:在编辑器打开文件后目录树自动定位到指定文件。...Compact Empty Middle Packages 隐藏空的包目录 ...
  • VS项目中的包含目录、库目录、附加包含目录、附加库目录、附加依赖项均在”项目-&gt;属性-&gt;配置属性”下进行配置,具体说明如下: VC++目录: 包含目录:寻找#include&lt;xxxx.h&gt;中的xxxx.h...
  • 区别就是一个复制了文件一个没有.在本机的话这两种都没有问题(除非你从外部修改了存放jar的文件夹名称).但是如果你把你的项目复制到别的电脑,用第一种方法导入的就有可能找不到了(因为你不可能保
  • war包和jar区别

    万次阅读 多人点赞 2018-07-20 17:50:42
    jar:对于学习java的人来说应该并不陌生。我们也经常使用也一些jar。其实jar就是java的类进行编译生成的class文件就行打包的压缩包而已。里面就是一些class文件。当我们自己使用maven写一些java程序,进行打包...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 595,319
精华内容 238,127
关键字:

包和目录的区别