Visual Studio 下配置第三方C/C++库的方法

您所在的位置:网站首页 怎么查看vs安装了哪些组件 Visual Studio 下配置第三方C/C++库的方法

Visual Studio 下配置第三方C/C++库的方法

2023-12-12 07:06| 来源: 网络整理| 查看: 265

Visual Studio 下配置第三方C/C++库的方法

一些常用的函数、类等会被封装打包成库(以 Open CV 为例),以供开发人员使用。为了能正确调用所需的库,需先告知所用的编程开发工具(以 Visual Studio 为例)和操作系统(以 win 10 为例)在哪里寻找所需的库,这就是所谓的配置第三方库。

首先明确几个概念

概念1:在程序的源文件(如 .c 和 .cpp 文件)编辑阶段,为了使用第三方库,我们一般会在编辑器中使用 #include 指令来包含库的头文件( .h或 .hpp 文件),那么就需要告知 Visual Studio 第三方库的头文件在什么地方(配置路径)。

概念2:编写好程序的源文件后,在编译阶段,编译器会根据头文件中声明的函数、类等信息去寻找这个函数或类的实现文件(如 .lib 文件),这就需要告知 Visual Studio 第三方库中的函数、类等的实现文件在什么地方(配置路径)。

概念3:源文件经过编译后会生成一系列目标文件(如 .o 文件),然后链接器将目标文件链接起来形成最终的可执行文件(如 .exe 文件),这就需要告知链接器具体需要链接第三方库中的哪些库文件(配置文件,就是 .lib 文件),一般第三方库会包含很多模块,可以只选择自己需要的模块的库文件,这样在调试编译时会快一些,如果不是特别影响速度的话,也可直接包含第三方库的总的库文件。

概念4:链接器在链接目标文件并生成最终的可执行文件时,有静态链接和动态链接两种方式。静态链接就是将所用到的第三方库的内容包含进程序的可执行文件中(如 .exe 文件),这样在没有安装所需库的相应功能的计算机上也可以直接运行该程序,缺点是,如果用到的库的内容比较大的话,最终程序的可执行文件相应的也很大。动态链接就是不将所用到的第三方库的内容包含进程序的可执行文件中,而只是写入一些必要的信息,以便程序运行时能正确调用所需功能。这个时候就需要计算机上装有第三方库,并正确配置计算机的环境变量,以便程序运行时能正确找到所需的动态链接库。

具体配置过程(以opencv库和win10系统为例) 1 安装第三方库及配置环境变量

首先在opencv官网找到所需版本,这里选择3.4.4的Windows版本。

下载完成后直接解压即可,无需其它操作,我这里解压到C区根目录下。

目录下有2个文件夹,build 文件夹中有我们配置各种参数时所需的文件,sources 文件夹中一般是官方提供的源文件和一些使用例程。

下载安装好第三方库后,可以首先配置环境变量,以便使用到该库的动态链接库的程序能在该计算机上正确运行。

打开计算机的高级系统设置,如果不知道从哪里打开,可以在win10的小娜搜索框中输入“高级系统设置”即可弹出该窗口。

选择下方的环境变量,弹出环境变量设置窗口。

双击系统变量(与用户变量的区别请自行百度,一般在系统变量下配置即可)下的path一行,或者选择后点击编辑按钮,弹出编辑环境变量窗口。

 

选择右方的新建,输入动态链接库文件(.dll文件)所在的位置,我的位置如上图所示有两个,opencv提供的是64位版本对应vc14(VS2015)和vc15(VS2017)两个版本的动态链接库。

添加完路径后一路确定下去即完成了环境变量的配置。

2 新建一个 Visual Studio 项目

这里新建一个名为test_1的控制台应用程序。

 

 

设置中勾选空项目。

 

3 打开并配置项目属性页

完成后,项目就建立了,右键调出项目属性窗口进行配置(后面还有在属性管理器中进行配置的方法,两种方法的区别后面会讲)

弹出项目属性页,这里有个问题需要注意,属性页上方两个选框“配置”和“平台”需要根据项目情况选择合适的选项,默认的是当前活动配置,即Debug调试模式和32位即x86,因为我的opencv库是64位的,所以要将平台改为x64,debug和release下面的配置方法都是一样的,这里以debug加x64下的配置为例。

 

4 配置第三方库的头文件所在的位置

改好项目属性页的配置和平台后,进入“VC++目录”->“包含目录”弹出包含目录设置窗口,这里即是指定第三方库头文件的位置(对应本文开头讲到的概念1),头文件一般都在库的安装目录下的build->include文件夹中,opencv库的include文件夹下有两个文件夹,一个保存老版的库的头文件,一个保存新版的库的头文件,三个路径都添加进去。

C:\opencv\build\include

C:\opencv\build\include\opencv

C:\opencv\build\include\opencv2

5 配置第三方库的实现文件所在的位置

确定后,进入“VC++目录”->“库目录”弹出库目录设置窗口,这里即是指定第三方库实现文件的位置(对应本文开头讲到的概念2),实现文件(.lib)一般分各种编程语言以及x86和x64版本,据实际情况选择,我这用到的是opencv的C/C++语言的x64版本的,并且是适用vc14(即 Visual studio 2015)的。

C:\opencv\build\x64\vc14\lib

确定后,可以看到新配置的选项以黑体突出显示,点击应用。

 

6 指定链接器具体要使用哪几个库文件

接着转到“链接器”->“输入”->“附加依赖项”中设置需要用到的库文件(对应本文开头讲到的概念3),如下图所示,我们看到opencv总的库文件有两个,区别是一个名字后面有个字母d,表示debug,也就是如果项目属性页上面的“配置”中选择的是debug,则此处添加这个库文件,如果是release,则添加另外一个,直接将库文件全名复制粘贴进去,应用后一路确定就完成了debug模式下项目所需的第三方库的配置。

release模式下的配置过程是一样的,这里就不赘述了。

测试

在源文件中添加一个C++文件,输入如下内容,第一行即指定包含了新的opencv库的头文件。

另一种第三方库的配置方式

前面是通过右键点击项目名称选择属性来调出项目属性配置页的,这种方式配置完成后,所有配置参数只对本项目有效,新建一个另外的项目,如果也要调用这个第三方库,那么就需要按照上面的方法再走一遍配置流程。如果自己的项目所用的第三方库比较固定,那么可以采用下面的方式进行配置,这种方法配置完成后可以针对某一类程序有效,不需要每次新建一个项目就要配置一次那么麻烦。

按照前面的方式新建一个win32控制台应用程序,然后如图所示调出属性管理器。

这里可以看到我们的项目名称下面有四个选项,其实就是我们之前方法中的项目属性页顶端的“配置”和“平台”的几种组合,这里一样我们选择自己需要的组合,我现在配置debug模式,我的opencv库是64位的,如图所示,展开这个文件夹后,可以看到 Microsoft.Cpp.x64.user,在这个下面进行配置的话,以后所有新建的win32控制台应用程序会自动继承这里的配置,从而一劳永逸。

 

右键Microsoft.Cpp.x64.user调出菜单并选择属性,可以看到弹出的配置窗口和我们之前从解决方案窗口中项目名称右键进入的属性配置页一模一样,区别就是属性页上方的“配置”和“平台”变成灰色不可用的,因为我们上一步已经指定了这两项。

 

结束语

对于新人来说,如何正确搭建开发平台一直都是个很烦恼的问题,其实搞明白了本文开头的几个概念,后面的配置就是顺理成章,一目了然的了。

 

 

 

 

 

 

 



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3