Visual Studio软件调用已经配置、编译好的C++第三方库的方法

简介: Visual Studio软件调用已经配置、编译好的C++第三方库的方法

  本文介绍在Visual Studio软件中调用C++ 各种配置、编译完毕的第三方库的方法。

  在撰写C++ 代码时,如果需要用到他人撰写的第三方库(例如地理数据处理库GDAL、矩阵运算库Armadillo等),并不能像Python等语言那样,安装好库后直接在不同代码文件中使用;而是需要每一次新建一个代码文件(在Visual Studio软件中就是新建一个项目)后,还需要额外配置一下才可以使用。

  本文就以之前的文章Armadillo矩阵库在Visual Studio软件C++环境中的配置方法https://blog.csdn.net/zhebushibiaoshifu/article/details/127123511)中介绍的矩阵运算库Armadillo为例,介绍安装完某一个第三方库后,如何在Visual Studio软件新的项目中调用这个库。

  首先,按照文章Armadillo矩阵库在Visual Studio软件C++环境中的配置方法https://blog.csdn.net/zhebushibiaoshifu/article/details/127123511)中提到的方法,我们配置、编译好这个矩阵运算库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>时就已经不再报错。

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

  至此,大功告成。

欢迎关注:疯狂学习GIS

相关文章
|
21天前
|
算法 Linux C++
C++框架设计中实现可扩展性的方法
在软件开发中,可扩展性至关重要,尤其对于C++这样的静态类型语言。本文探讨了在C++框架设计中实现可扩展性的方法:1) 模块化设计降低耦合;2) 使用继承和接口实现功能扩展;3) 通过插件机制动态添加功能;4) 利用模板和泛型提升代码复用;5) 遵循设计原则和最佳实践;6) 应用配置和策略模式以改变运行时行为;7) 使用工厂和抽象工厂模式创建可扩展的对象;8) 实现依赖注入增强灵活性。这些策略有助于构建适应变化、易于维护的C++框架。
33 2
|
4天前
|
存储 分布式数据库 API
技术好文:VisualC++查看文件被哪个进程占用
技术好文:VisualC++查看文件被哪个进程占用
|
1月前
|
C++ 存储 Java
C++ 引用和指针:内存地址、创建方法及应用解析
'markdown'C++ 中的引用是现有变量的别名,用 `&` 创建。例如:`string &meal = food;`。指针通过 `&` 获取变量内存地址,用 `*` 创建。指针变量存储地址,如 `string *ptr = &food;`。引用不可为空且不可变,指针可为空且可变,适用于动态内存和复杂数据结构。两者在函数参数传递和效率提升方面各有优势。 ```
|
7天前
|
存储 编译器 程序员
C++语言速成方法
C++语言速成方法
|
7天前
|
C++ UED 开发者
逆向学习 MFC 篇:视图分割和在 C++ 的 Windows 窗口程序中添加图标的方法
逆向学习 MFC 篇:视图分割和在 C++ 的 Windows 窗口程序中添加图标的方法
7 0
|
28天前
|
JSON 开发工具 C语言
编程入门(五)【Visual Studio Code安装与C/C++语言运行】
编程入门(五)【Visual Studio Code安装与C/C++语言运行】
33 0
|
1月前
|
C++ 安全
高效遍历:C++中分隔字符串单词的3种方法详解与实例
拷贝并交换(Copy-and-Swap)是C++中实现赋值操作符和异常安全拷贝构造函数的技巧。它涉及创建临时对象,使用拷贝构造函数,然后交换数据以确保安全。C++11之前的策略在此后及C++11引入的移动语义和右值引用下仍有效,但后者提供了更高效的实现方式。
|
2月前
|
监控 API 数据安全/隐私保护
屏幕监控软件开发指南:C++实现原理解析
在当今数字化时代,屏幕监控软件成为了企业管理和个人隐私保护的重要工具。本文将深入探讨如何使用C++语言实现屏幕监控软件,并解析其实现原理。我们将通过多个代码示例来说明其工作方式,最后将介绍如何将监控到的数据自动提交到网站。
130 3
|
2月前
|
C语言 C++
C++|运算符重载(2)|运算符重载的方法与规则
C++|运算符重载(2)|运算符重载的方法与规则
|
2月前
|
存储 C++ Python
LabVIEW使用Python MathWorks® MATLAB®软件和C/C++
LabVIEW使用Python MathWorks® MATLAB®软件和C/C++
25 0