当前位置: 首页 > news >正文

Visual Studio复制、拷贝C++项目与第三方库配置信息到新的项目中

  本文介绍在Visual Studio软件中,复制一个已有的、配置过多种第三方库C++项目,将其拷贝为一个新的项目,同时使得新项目可以直接使用原有项目中配置好的各类**C++**配置、第三方库等的方法。

  在撰写C++ 代码时,如果需要用到他人撰写的第三方库,那么每次新建一个项目时都需要重新配置一次环境,相对比较麻烦;而如果我们先在一个项目中配置好了不同的第三方库,并且在同样的设备与环境下又新建了一个新的项目,且新的项目还希望可以用同样的第三方库,那么我们就没有必要重新配置这些库了,而是可以直接用之前项目中配置好的文件即可。这一操作,在我们之前的两篇文章Visual Studio软件调用已经配置、编译好的C++第三方库的方法(https://blog.csdn.net/zhebushibiaoshifu/article/details/127171298),以及Visual Studio新项目快速配置已有项目中编译好的C++第三方库的方法(https://blog.csdn.net/zhebushibiaoshifu/article/details/128292242)中都有所介绍;而这一次,我们介绍一种更加方便的方法,直接在资源管理器中复制、粘贴项目文件就可以实现。当然,这种方法需要我们复制、新建的新项目老项目处在同一台电脑的同一个环境下,才可以有效。

  首先,我们在一个文件夹下,有一个名为LCCProduction_4的项目文件夹,这个就是我们希望加以复制、拷贝的项目。其中项目名称就是这个LCCProduction_4;如下图所示。

  打开这一项目文件夹,如下图所示。

  那么为了复制这一个项目,首先,我们需要复制项目的文件夹,并将新得到的文件夹加以重命名(用我们新项目的名称来重命名即可);我这里就重命名为LCCProduction_5;如下图所示。

  接下来,我们进入重命名后的新的项目文件夹中,首先删除下图中,上面紫色框内的两个文件夹。这两个文件夹,第一个.vs是记录了我们在解决方案中的一些配置,比如最近打开的窗口、窗口布局、断点设置等;第二个文件夹x64则是记录了项目编译之后结果的;在我们复制、拷贝并运行新的项目后,这些文件夹都会自动更新,所以现在直接将其删除即可。

  其次,对于上图第二个紫色框内的文件,其原本文件名称中有一部分都是老的项目的名字,也就是LCCProduction_4(我这里截图的时候已经修改过了);我们都将其老项目名称的这一部分,修改为新的项目名称(在这里就是LCCProduction_5)即可。这里需要注意,大家项目文件夹中这几个文件的数量、具体文件格式等可能和我这里图中的不完全一致,大家按照实际情况,将具有老名称的文件都修改为新名称即可。

  随后,如上图所示,我们打开.vcxproj结尾的那一个文件,用任何一个文本编辑器打开都可以;随后,在编辑器中找到“替换”功能。

  接下来,在替换中,将原本的内容设置为我们原本的项目名称新的内容设置为我们新的项目名称;如下图所示。但是这里需要注意,我发现在.vcxproj结尾的那一个文件中,我原本的项目名称中的下划线不存在了,所以我在替换为新的项目名称时,将新的项目名称的下划线也去掉了。大家实际操作时,结合自己文件内的实际情况来修改即可。

  随后,我们打开Visual Studio软件,选择“打开项目或解决方案”选项,如下图所示。

  随后,找到我们刚刚修改好的新的项目文件夹,并选择其中的.vcxproj结尾的那一个文件,如下图所示。

  这里需要注意,如果选择另一个.sln文件打开项目(如下图所示),在运行时就会报错。

  打开新的项目之后,我们可以看到“头文件”和“源文件”中,已经有我们之前项目中的代码文件了。

  此时,就可以运行新的项目了。当然,如果大家的代码文件中,还有关于老项目名称的字样,可能需要再替换修改一下才可以正常运行。我这里因为代码中就不涉及老的项目的名称了,所以直接就可以正常运行。这样子,老项目和新项目还可以同时运行,有点类似于是手动搞了一个多线程了。

  至此,大功告成。

欢迎关注:疯狂学习GIS

http://www.lryc.cn/news/170901.html

相关文章:

  • rust迭代器
  • 软件定制开发的优势与步骤|APP搭建|小程序
  • ERR_CONNECTION_REFUSED等非标准的HTTP错误状态码原因分析和解决办法
  • 瀑布流 - Vue3基于Grid布局简单实现一个瀑布流组件
  • ES6面试题总结
  • mybatisplus,jdbc 批量插入
  • 如何使用IP归属地查询API来追踪网络活动
  • 【SQL】S0 系列博文大纲
  • 2023年8月体育用品行业数据分析(京东数据产品)
  • 国内高校镜像网站
  • Linux安装kafka-manager
  • MYSQL索引——B+树讲解
  • VB将十进制整数转换成16进制以内的任意进制数
  • 基于SpringBoot+Vue的宠物领养饲养交流管理平台设计与实现
  • 【图像去噪】【TGV 正则器的快速计算方法】通过FFT的总(广义)变化进行图像去噪(Matlab代码实现)
  • windbg调试句柄问题
  • 9月13-14日上课内容 第三章 ELK日志分析系统及部署实例
  • 服务器端应用的安装
  • 关于硬盘质量大数据分析的思考
  • RK3568核心板分区空间不足,如何修改分区大小?
  • Linux系统怎么修改主机名
  • BroadcastChannel方法跨浏览器窗口通信
  • 山石网科国产化防火墙,打造全方位边界安全解决方案
  • AVL 树
  • ggplot2做图(填坑中)
  • Python日志处理器,同时打印到控制台和保存到文件中,并保证格式一致
  • JavaWeb后端开发登录操作 登录功能 通用模板/SpringBoot整合
  • The 2023 ICPC Asia Regionals Online Contest (1)(A D I J K L)
  • C++ PrimerPlus 复习 第七章 函数——C++的编程模块(上)
  • 2.求循环小数