码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 将编译过的C++库迅速部署在Visual Studio新项目中


    合集 - 学术工作效率(47)
    1.安装Amos结构方程模型分析软件的方法2023-04-282.如何不显示我的电脑、回收站等图标?2023-05-053.SPSS计算极值、平均值、中位数、方差、偏度、峰度、变异系数2023-05-084.无需代码绘制人工神经网络ANN模型结构图的方法2023-05-105.论文的技术路线流程图如何绘制?2023-05-196.电脑缩放异常、显示亮度无法调整的处理办法2023-06-067.EndNote参考文献格式Output Styles界面介绍2023-06-088.Windows电脑环境变量(用户变量、系统变量)的修改2023-07-139.如何修改电脑的BIOS密码?2023-07-2210.叶绿素含量测定仪SPAD-502怎么使用?2023-07-2911.全球都有哪些高光谱遥感卫星?2023-08-1912.创建Anaconda虚拟Python环境的方法2023-09-0913.Anaconda虚拟环境配置Python库与Spyder编译器2023-10-1414.小提琴图的绘制方法:Python matplotlib实现2023-10-1615.如何用CAN-EYE获取植被参数数据?2023-10-2216.ArcMap属性表出现乱码情况的解决2023-10-2717.考研保研、夏令营推免的简历模板2023-12-1518.安装MicroStation软件、Terrasolid插件的方法01-2219.VMware虚拟机部署Linux Ubuntu系统的方法01-2420.在Linux Ubuntu系统中部署C++环境与Visual Studio Code软件01-2621.安装Visual Studio的详细流程01-2822.获取Visual Studio所用MSVC编译器版本:_MSC_VER数值01-2923.Visual Studio部署C++矩阵库Armadillo的方法01-3024.如何在Visual Studio新C++项目中调用之前配置过的库?01-3125.在Visual Studio中部署GDAL库的C++版本(包括SQLite、PROJ等依赖)02-0126.C++遴选出特定类型的文件或文件名符合要求的文件02-0227.初步上手Git软件及GitHub平台:基本操作方法02-0528.下载、安装Git并拷贝GitHub项目到本地的流程02-0629.Visual Studio部署matplotlib绘图库的C++版本02-0730.Anaconda与Python环境在Windows中的部署03-0131.Windows配置R语言、RStudio开发环境03-0332.Visual Studio部署C++环境下OpenCV库03-0633.ArcMap的mxd文件没有数据、显示感叹号怎么办?03-2234.绘制三元图、颜色空间图:R语言代码03-2735.Linux电脑如何下载QGIS?03-2936.Python表格处理模块xlrd在Anaconda中的安装04-0137.Postman模拟浏览器网页请求并获取网页数据04-0338.多次复制Excel符合要求的数据行:Python批量实现04-0839.电脑开机时报错No Bootable Device找不到索引的解决方法04-1240.论文研究区域图的制作方法:ArcGIS04-1741.修改中文、英文参考文献在文末列表中的顺序:EndNote04-1942.ArcPy自动绘制大量地图并设置地图要素:Python04-2243.Python提取文本文件(.txt)数据的方法05-2444.将大量文件的拓展名中大写字母改为小写:Python实现05-2545.浏览器打开JupyterLab后所有快捷键与窗口按键均失效怎么办?05-27
    46.将编译过的C++库迅速部署在Visual Studio新项目中05-28
    47.EndNote里参考文献的期刊名显示错误怎么办?05-29
    收起

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

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

    image

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

      针对这一新的项目,我们可以参照文章如何在Visual Studio新C++项目中调用之前配置过的库?中提及的方法,分别对新项目的附加包含目录、附加库目录与附加依赖项等3个属性加以配置。然而,这样手动配置一次还好,如果今后还会有多个新的项目需要配置同样的第三方库,那么每一次都手动配置就显得十分麻烦。因此,我们可以借助Visual Studio中的属性表,完成这一操作。

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

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

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

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

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

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

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

      此时我们要做的,就是将原有项目(也就是已经配置好各类第三方库的项目)的附加包含目录、附加库目录与附加依赖项等3个属性,复制到属性表的属性页中。这3个属性的位置具体可以参考文章如何在Visual Studio新C++项目中调用之前配置过的库?。

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

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

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

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

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

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

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

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

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

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

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

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

      至此,大功告成。

  • 相关阅读:
    为什么杠杆炒股要在尾盘三十分钟内买股呢?
    【斐波那契数列——python多种写法】
    Python爬虫第一章(图片爬取与API接口爬取)
    网络安全(黑客)自学
    ffmpeg中AVCodecContext和AVCodec的关系分析
    IPV6地址
    iNFTnews | 为元宇宙做准备:eBay探索人工智能在电子商务中的应用
    记一次 .NET 某数控机床控制程序 卡死分析
    TP-Link TL-WR703N路由器刷打印服务,网络配置及补丁加载
    Acid-PEG-aldehyde,COOH-PEG-CHO,羧基PEG醛基
  • 原文地址:https://www.cnblogs.com/fkxxgis/p/18217914
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号