本文介绍在Visual Studio软件中调用C++ 各种配置、编译完毕的第三方库的方法。
在撰写C++ 代码时,如果需要用到他人撰写的第三方库(例如地理数据处理库GDAL
、矩阵运算库Armadillo
等),并不能像Python等语言那样,安装好库后直接在不同代码文件中使用;而是需要每一次新建一个代码文件(在Visual Studio软件中就是新建一个项目)后,还需要额外配置一下才可以使用。
本文就以之前的文章Visual Studio配置C++矩阵库Armadillo的方法(https://www.jianshu.com/p/ae51c4ee5b04)中介绍的矩阵运算库Armadillo
为例,介绍安装完某一个第三方库后,如何在Visual Studio软件新的项目中调用这个库。
首先,按照文章Visual Studio配置C++矩阵库Armadillo的方法(https://www.jianshu.com/p/ae51c4ee5b04)中提到的方法,我们配置、编译好这个矩阵运算库Armadillo
。随后,在我们配置这一库时所创立的项目中,是可以在源文件中调用该库的;如下图所示,我们在这一个项目的源文件中输入一段调用该库的代码,其在引入<armadillo>
时是不会报错的,且代码也可以正常运行。

但是,在实际使用过程中,我们往往需要在很多其他的项目中调用刚刚配置好的Armadillo
库;如下图所示,我们在电脑的另一个位置新建一个项目,假设这个项目也需要使用Armadillo
库。

随后,在刚刚新建立的项目中输入调用Armadillo
库的代码,可以看到其在引入<armadillo>
时就已经报错。

且代码亦无法正常运行。

这就需要我们在每一个调用Armadillo
库的新的项目开始运行前,进行如下的设置。
首先,在Visual Studio软件左侧的内容列表中选中项目名称(即下图的Testlib
),并选择“属性”按钮;随后,在弹出的窗口中依次选择“C/C++”→“常规”→“附加包含目录”→“编辑”。

接下来,选择我们配置Armadillo
库时得到的include
文件夹。

完成后,会出现如下图所示的情况。

接下来,在“链接器”选项中,选择“附加库目录”。

依据同样的方法,将我们配置Armadillo
库时得到的lib_win64
文件夹导入其中。这里需要注意,不同的第三方库在进行这一步时所选的文件夹名称可能不一致,但一般这里选择带有lib
字样的文件夹就可以。

导入后,如下图所示。

最后,再在“链接器”→“输入”中选择“附加依赖项”。

并将我们配置Armadillo
库时得到的lib
文件(对于Armadillo
库而言,这里就是libopenblas.lib
文件)的路径与其文件名称输入其中;我们可以在按下Shift
按钮的同时右键选中对应lib
文件,即可出现“复制文件地址”的选项。

将复制好的文件地址粘贴至“附加依赖项”中即可,如下图所示。

此时,可以看到刚刚新建立的项目中,其在引入<armadillo>
时就已经不再报错。

同时,代码也可以正常运行。

至此,大功告成。
网友评论