VS中库的添加及相关概念

在编写程序代码时,我们常常需要用到一些下载的库,比如处理计算机视觉领域常用的Opencv库,那么这些库应该如何被添加到自己的VS项目中呢。为此我们首先了解一下VS中与这一操作有关的相关概念。

VS中有关添加库的概念

要想添加一个库,主要需要对VS中的属性管理器中的相关内容进行修改,要修改的内容主要包括以下几个部分:

  • 包含目录 包含目录是你所要添加的库中的头文件所在的地址。通俗的来说就是寻找#include<xxx>的地址。
  • 库目录 库目录是寻找所要添加的库中.lib文件所在的位置。
    那么什么是.lib文件呢?可以简单地把.lib文件理解为一个库中cpp文件的合集。(C++的库会把函数、类的声明放在*.h中,实现放在*.cpp或*.cc中。编译之后,.cpp,.cc,*.c会被打包成一个.lib文件,这样可以保护源代码。)
  • 附加依赖项 附加依赖项就是在库目录中你实际需要用到的.lib文件

所以我们可以看出,xx目录指的是存放某东西的地址,他是一个或多个文件夹,而附加依赖项是存放在库目录中的你所需要用到的一些文件(.lib文件)。

修改目录和依赖项

直接修改

那么上面的这些项目需要在哪里修改呢?
为了方便起见,VS中有一个叫属性管理器的东西,可以为每一个项目设定上述的这些内容,并且可以将这些设定保存下来,成为一张属性表,这样下次如果需要相同的配置就可以直接打开。下面我们就看一下如何配置上面的内容:

  1. 打开属性管理器 点击视图->其他窗口->属性管理器,会弹出这样一个栏目。在这里插入图片描述

  2. 我们可以看到,这里有几个文件夹,比如Debug|x64,Release|x64,这些与你选择的解决方案的配置和平台是对应的,需要用哪个配置,就修改相应的属性,这里我们以Debug|x64为例。在这里插入图片描述在这里插入图片描述

  3. 右键点击Debug|x64,选择属性,就可以对上述的各类属性进行设置。
    在这里插入图片描述
    我们首先点击VC++目录。在VC++目录中我们可以对上面提到的包含目录和库目录进行设置。在这里插入图片描述
    点击包含目录后,目录列表的右侧出现一个小箭头,点击箭头,选择编辑,添加所需的目录即可。库目录的操作类似。
    在这里插入图片描述

  4. 我们再点击属性页中的连接器->输入,在这里添加附加依赖项。注意这些附加依赖项应该是在上一步你所添加的库目录中的,只要输入对应依赖项的名字即可。在这里插入图片描述

  5. 配置好之后点击应用保存。

注意,这里我们的所有设置是对所有项目都会生效的,这样做只适合于一些你每次都会使用到的库,如果你有多个版本不同的库(比如Opencv4,Opencv2)想要切换使用,应该如何操作呢?这就需要用到属性表

属性表的设置

还是在属性管理器中选择对应的配置,这里选择Debug|x64为例。右键点击Debug|x64,选择添加新项目属性表
在这里插入图片描述
在弹出的窗口中设置属性表的名称,点击添加
在这里插入图片描述
双击我们新添加得到的属性表,在弹出的窗口中做与刚才相同的设置即可。
在这里插入图片描述
注意这两种方法任选其一!
那么当有一个新的工程要用到和当前工程相同的配置时,如何操作呢?我们只需要把属性表复制到该工程的工作目录中,然后打开属性管理器,在刚才添加新项目属性表的下方有一个添加现有属性表,在里面选择你已经配置好的属性表即可。

头文件

<>还是""

用<>包含,编译器会先在刚刚设置的包含目录中搜索,用” ” 包含,编译器会在当前的工作目录下搜索。所以用<>添加的一般是标准的库的头文件等,而用""添加的主要是用户自己编写的头文件。

要不要加.h

  • 如果使用的是新的C++标准库,不加 .h。例如#include<iostream>
  • C++可以兼容使用C语言的库,可以用两种方式声明:
    • 仍旧使用原来C语言的库,可以加 .h,如#include<string.h>
    • 对C的库改进成C++的库,不加.h,但是在库名字前加c,表示来自与C语言。例如#include<cstring>
    • 如果你用的是自己的头文件,都要加 .h

参考资料:
包含目录、库目录、附加包含目录、附加库目录、附加依赖项之详解
C++头文件用<>还是“” 以及 要加.h还是不加 的问题

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值