Visual Studio新项目快速配置已有项目中编译好的C++第三方库的方法

简介: Visual Studio新项目快速配置已有项目中编译好的C++第三方库的方法

  本文介绍在Visual Studio中,通过属性表,使得一个新建解决方案中的项目可以快速配置已有解决方案的项目中各类已编译好的C++ 第三方库的方法。

  例如,我们现有一个解决方案,其中的一个项目需要调用ArmadilloOpenCV等多个不同的C++ 第三方库;我们也已经在这一项目中配置好了所需的各个第三方库,如下图所示。

  随后,我们新建了一个解决方案,且这一解决方案中的一个新的项目需要同样需要调用前述项目ArmadilloOpenCV等多个不同的C++ 第三方库。如下图所示,由于此时我们还没有对新的项目进行第三方库的配置,因此在#include代码中会有报错信息存在。

  针对这一新的项目,我们可以参照文章Visual Studio软件调用已经配置、编译好的C++第三方库的方法https://fkxxgis.blog.csdn.net/article/details/127171298)中提及的方法,分别对新项目的附加包含目录附加库目录附加依赖项等3个属性加以配置。然而,这样手动配置一次还好,如果今后还会有多个新的项目需要配置同样的第三方库,那么每一次都手动配置就显得十分麻烦。因此,我们可以借助Visual Studio中的属性表,完成这一操作。

  首先,我们需要在原有的项目(也就是已经配置好各类第三方库的项目)中,选择“视图”→“其他窗口”→“属性管理器”选项,如下图所示。

  随后,在“解决方案资源管理器”附近,找到“属性管理器”,并双击项目名称将其展开;随后,基于我们代码需要运行的环境属性(比如Release还是DebugWin32还是x64),将对应的属性信息展开,并右键选择“添加新项目属性表…”。如下图所示,我这里因为希望在Debug版本的x64环境下运行代码,因此就选择在这一环境属性信息对应处右键。

  这里再提一句,如下图所示,我们也可以选择直接在项目名称处右键;但建议大家还是按照实际需求来。

  这样的话,通过我们后续的操作,就会在每一个环境属性信息对应的栏目下出现属性表;如下图所示。

  我们继续前述操作。在选择“添加新项目属性表”后,会弹出“添加新项”窗口;我们在其中配置.props格式的属性表文件的名称与保存路径即可。

  此时,就可以在Debug版本的x64环境对应的一项中,找到我们刚刚创建的属性表,并双击。

  随后,即可弹出属性表的属性页;如下图所示。可以看到,其实这个属性表的属性页就是我们常用的项目的属性窗口

  此时我们要做的,就是将原有项目(也就是已经配置好各类第三方库的项目)的附加包含目录附加库目录附加依赖项等3个属性,复制到属性表的属性页中。这3个属性的位置具体可以参考文章Visual Studio软件调用已经配置、编译好的C++第三方库的方法https://fkxxgis.blog.csdn.net/article/details/127171298)。

  复制的时候这里也有几个小技巧。首先,我们可以在打开属性表的属性页(或项目的属性页)时,通过切换“解决方案资源管理器”与“属性管理器”的选中状态,无缝切换两个属性页窗口。

  此外,我们可以在原有项目的附加包含目录附加库目录中,通过复制“计算的值”窗口中的内容,实现跨行批量复制,如下图所示。

  然后首先将其复制到文本文件、Word文档文件等作为中转,再将其逐行粘贴值属性表的对应位置处;下图即为复制后的属性表的附加库目录

  而对于附加依赖项,由于其不是一行一行来设置的,因此复制起来就更快一些。

  完成对附加包含目录附加库目录附加依赖项等3个属性的复制工作后,一定记得需要在属性表名称处右键,将其保存。

  随后,我们打开新的项目,也就是待配置第三方库的项目,同样打开“属性管理器”。

  随后,在对应的环境属性一栏中,右键并选择“添加现有属性表…”选项。

  随后,找到我们刚刚配置好的.props格式的属性表文件,并选择。

  此时,在新项目的属性管理器中,就可以看到我们的属性表已经导入了。但是,有时可能会出现如下图所示的情况,即导入属性表后,新的项目依然无法调用这些第三方库。

  并且此时双击打开属性表的属性页,发现其中我们刚刚配置的附加包含目录附加库目录附加依赖项等3个属性都还是空白的。

  针对这一情况,我们可以首先在新的项目中,在刚刚导入的属性表名称处右键并选择“移除”;随后,将这一新项目所在的解决方案关闭,并再一次在原有项目中保存属性表;随后,将原有项目所在的解决方案关闭,打开新的项目所在的解决方案,重新导入属性表。一般情况下,新的项目就可以使用这些第三方库了。

  在今后若有其他新的项目需要配置这些第三方库,我们就可以直接导入这一属性表文件,从而实现快速的环境配置。

  至此,大功告成。

相关文章
|
4天前
|
Web App开发
Visual Studio Code 直接启动项目
Visual Studio Code 直接启动项目
11 0
|
16天前
|
存储 算法 Linux
【实战项目】网络编程:在Linux环境下基于opencv和socket的人脸识别系统--C++实现
【实战项目】网络编程:在Linux环境下基于opencv和socket的人脸识别系统--C++实现
39 6
|
2天前
|
前端开发 JavaScript 开发工具
Sublime Text 3配置C/C++开发环境
【4月更文挑战第15天】本篇 Huazie 介绍了 Sublime Text 3 配置 C/C++ 的相关内容,感兴趣的朋友赶紧配置起来,有任何问题可以随时评论区沟通。
21 1
Sublime Text 3配置C/C++开发环境
|
19天前
|
Ubuntu 开发工具 git
ubuntu18.04下配置muduoC++11环境
以上步骤将在Ubuntu 18.04下配置C++11环境,并编译安装muduo库。请根据实际情况对配置步骤进行调整。 买CN2云服务器,免备案服务器,高防服务器,就选蓝易云。百度搜索:蓝易云
17 0
|
19天前
|
人工智能 NoSQL 机器人
【C++】VS code如何配置使用C++(手把手教学)
【C++】VS code如何配置使用C++(手把手教学)
|
25天前
|
存储 C++
【C++】Visual Studio C++ 配置并使用gtest(不好用你捶我)
【C++】Visual Studio C++ 配置并使用gtest(不好用你捶我)
|
25天前
C/C++test两步完成CMake项目静态分析
通过将C/C++test集成到CMake项目中,并根据项目的需要进行配置,可以在两步内完成CMake项目的静态分析。这样可以帮助开发人员及时发现并修复潜在的代码问题,提高代码质量和可靠性。
8 0
|
1月前
|
存储 算法 数据管理
C++中利用随机策略优化二叉树操作效率的实现方法
C++中利用随机策略优化二叉树操作效率的实现方法
77 1
|
1月前
|
算法 编译器 程序员
深入理解C++编译模式:了解Debug和Release的区别
深入理解C++编译模式:了解Debug和Release的区别
63 2
|
1月前
|
IDE 算法 编译器
快速掌握陌生C++项目的科学与心理学策略
快速掌握陌生C++项目的科学与心理学策略
58 0