VS中C++ 项目重命名

应该都有过这样的经历,在Visual studio中创建解决方案,添加几个项目进去,然后开始愉快的敲代码...。写代码正欢的时候,却总是感觉那里有些不舒服,一细看,这项目名称取的真心挫,修改个吧。直接右击项目名->重命名,修改一个让自己舒心的名称。然而,真的就这么简单么。打开项目所在文件夹,怎么文件夹名字还是原来的那个啊,对于有强迫症的人来说这是不能认的。改了!然而,重新打开解决方案却发现,修改名称的那个项目加载失败...。具体如下图
439761-20161008225959285-1604276484.jpg

显然,这么粗暴的修改是不行的。要想正确的修改项目的名称,首先要明白Visual studio 各个文件的组织方式。在VS中,最顶级的是解决方案 Solution,其可以包含多个项目 Project,在Project中包含的就是源代码(.cpp,.h)。只要是在VS下工作,至少有一个Solution和一个或者多个Project。当新建一个项目时,默认的会为该项目创建一个同名的解决方案,如下图:
439761-20161008230016395-2037868835.png

Solution Project

在VS中,Solution有一个相对应的solutionname.sln文件,该文件中保存了解决方案中包含的项目及项目所在的位置。每一个项目队友一个对应的projectname.vcxproj,该文件中保存了项目的名称,项目中包含的.h .cpp文件及其它一些项目的属性。
439761-20161008230031317-1269198451.png

上图是sample.sln的内容,VisualStudioVersion=12.0指出该解决方案的是VS2013的,能够打开该解决方案的最小版本MinimumVisualStudioVersion=10.0。后面就是该solution中包含的两个项目GifGenerator和Threadsafe_queue,及其所在的位置。

439761-20161008230037848-1632266977.png
上图是Threadsafe_queue项目的vcxproj文件中ProjectName所对应的节点,直接右击项目->重命名修改的只是这里的值。

修改项目名称

直接右击项目->重命名只是改了project的vcxproj文件中的ProjectName的值,而如果手动修改了项目文件夹的名称,就会造成解决方案按照其sln文件加载对应的项目时,找不到正确的项目路径,所以会加载失败。
有了以上的描述,再来修改项目的名称就简单了,有以下几个步骤:

  1. 右击项目-> 重命名,修改一个高大上的名称
  2. 修改项目对应的项目文件夹的名称及其对应的vcxproj文件名称
  3. 修改解决方案的sln文件,将项目名称和项目路径修改为正确的值。

Summary

一个VS项目看起来有很多文件,感觉杂乱无章。其中的很多文件是编译器生成的(编译器所需的自动提示,符号表等),真正构建一个解决方案的文件也就那么几个。
439761-20161008230054473-1107200875.png

如上图,一个解决方案下有一个sln文件及其包含的两个项目的文件夹。而每一个项目除了其所包含的.cpp .h源码文件外,其余的就两个projcetName.vcxproj是上面提到的project文件;另一个就是projectName.vcxproj.filters 文件,这个文件保存了在项目中的源代码文件文件的分组情况,例如常见的头文件,源文件,也可以添加自定义的分组,这些信息就保存在该文件中。有了这些了解以后,将项目托管到git上,就知道了那些文件应该push,那些文件应该ignore了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/542468.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java GregorianCalendar getActualMinimum()方法与示例

GregorianCalendar类getActualMinimum()方法 (GregorianCalendar Class getActualMinimum() method) getActualMinimum() method is available in java.util package. getActualMinimum()方法在java.util包中可用。 getActualMinimum() method is used to get the actual minim…

axure9数据统计插件_WMDA:大数据技术栈的综合实践

一、概述WMDA是58自主开发的用户行为分析产品,同时也是一款支持无埋点的数据采集产品,只需要在第一次使用的时候加载一段SDK代码,即可采集全量、实时的PC、M、APP三端以及小程序的用户行为数据。同时,为了满足用户个性化的数据采集…

Java Collections unmodifiableCollection()方法与示例

集合类unmodifiableCollection()方法 (Collections Class unmodifiableCollection() method) unmodifiableCollection() method is available in java.util package. unmodifiableCollection()方法在java.util包中可用。 unmodifiableCollection() method is used to get an un…

openfoam安装中出现allmake error_如何更新OpenFOAM的版本?

这是协作翻译的第四章,翻译完感觉挺有意思的,分享给大家一起看看。4.更新OpenFOAM版本4.1 版本管理OpenFOAM以两种不同的方式分发。一种方式是使用Git仓库下载的仓库版本。仓库版本的版本号由附加的x标记,例如 OpenFOAM2.1.x。该版本会经常更…

java 根据类名示例化类_Java类类的requiredAssertionStatus()方法和示例

java 根据类名示例化类类的类requiredAssertionStatus()方法 (Class class desiredAssertionStatus() method) desiredAssertionStatus() method is available in java.lang package. requiredAssertionStatus()方法在java.lang包中可用。 desiredAssertionStatus() method is …

python中计算排列组合的函数_Python实现的排列组合计算操作示例

本文实例讲述了Python实现的排列组合计算操作。分享给大家供大家参考,具体如下:1. 调用 scipy 计算排列组合的具体数值>> from scipy.special import comb, perm>> perm(3, 2)6.0>> comb(3, 2)3.02. 调用 itertools 获取排列组合的全部…

java日历类add方法_Java日历setMinimalDaysInFirstWeek()方法与示例

java日历类add方法日历类setMinimalDaysInFirstWeek()方法 (Calendar Class setMinimalDaysInFirstWeek() method) setMinimalDaysInFirstWeek() method is available in java.util package. setMinimalDaysInFirstWeek()方法在java.util包中可用。 setMinimalDaysInFirstWeek(…

相同布局在不同手机上显示不同_不懂响应式,不同尺寸屏幕下的页面很难达到最佳效果...

让用户在不同设备和尺寸的屏幕下看的页面显示效果更佳,屏幕空间利用更高,操作体验更统一,交互方式更符合习惯。本文主要围绕什么是响应式,如何搭建响应系统,响应式网站解析 三个部分进行阐述,在项目中提前定…

Java ByteArrayInputStream markSupported()方法与示例

ByteArrayInputStream类markSupported()方法 (ByteArrayInputStream Class markSupported() method) markSupported() method is available in java.util package. markSupported()方法在java.util包中可用。 markSupported() method is used to check whether this ByteArrayI…

markdown 流程图_测试了12款Markdown编辑器,推荐一个最好用的!

有很多喜欢写博客的小伙伴问我,这个代码笔记的格式怎么弄的简洁又好看,虽然csdn里面有Markdown的书写模式,但是我还是想推荐一款比较好用的写笔记的编辑器 - Typora。相信很多小伙伴都在使用吧,这个一直是我最喜欢的 markdown 编辑…

小程序 || 语句_C ++条件语句| 查找输出程序| 套装2

小程序 || 语句Program 1: 程序1&#xff1a; #include <iostream>#include <stdio.h>using namespace std;int main(){int num 0;num printf("%d ", printf("%d ", printf("ABC")));if (num 2) {cout << "INDIA&quo…

python爬取天气预报源代码_python抓取天气并分析 实例源码

【实例简介】Python代码抓取获取天气预报信息源码讲解。这是一个用Python编写抓取天气预报的代码示例&#xff0c;用python写天气查询软件程序很简单。这段代码可以获取当地的天气和、任意城市的天气预报&#xff0c;原理是根据url找到网站截取相应的数据展现。python抓取广州天…

Linux编译程序源码环境,Linux下对nodejs环境进行源码编译并部署云应用

Node 是一个让 JavaScript 运行在服务端的开发平台&#xff0c;它让 JavaScript 成为与PHP、Python、Perl、Ruby 等服务端语言平起平坐的脚本语言。该环境安装非常简单&#xff0c;这里简单记录下linux(centos环境下)的源码安装&#xff0c;做个记录。平台&#xff1a;centos 6…

endswith方法_带有示例JavaScript字符串endsWith()方法

endswith方法字符串endsWith()方法 (String endsWith() Method) endsWith() method is a string method in JavaScript, it is used to check whether a string ends with a specified substring or not. EndsWith()方法是JavaScript中的字符串方法&#xff0c;用于检查字符串是…

mysql多行合并成一行_数据文件合并与拆分

在数据处理业务中&#xff0c;经常要把文件结构相同或近似相同的数据文件合并成一个文件&#xff0c;或者将一个比较大的数据文件拆分成小的数据文件。本文将介绍文本文件和 Excel 文件合并及拆分会遇到的几种情况&#xff0c;并提供用 esProc SPL 编写的代码示例。esProc 是专…

日期setMinutes()方法以及JavaScript中的示例

JavaScript日期setMinutes()方法 (JavaScript Date setMinutes() method) setMinutes() method is a Date class method, it is used to set the minutes to the Date object with a valid minutes value (between 00 to 59). setMinutes()方法是Date类的方法&#xff0c;用于将…

suse linux增加新磁盘分区,Virtualbox中Linux添加新磁盘并创建分区

引言&#xff1a;我们常常在使用系统的时候突然发现&#xff0c;哎呦~~~我们的磁盘空间不够用啦&#xff01;我遇到常见的就是数据库数据暴增&#xff0c;预留的空间没有啦&#xff0c;只好新添加磁盘&#xff0c;在VB虚拟机上就可以实现&#xff0c;往往苦于没有图文并茂的好资…

Java SecurityManager checkMemberAccess()方法与示例

SecurityManager类的checkMemberAccess()方法 (SecurityManager Class checkMemberAccess() method) checkMemberAccess() method is available in java.lang package. checkMemberAccess()方法在java.lang包中可用。 In checkMemberAccess() method we access public members …

arcgis字段计算器无法赋值_Arcgis空间连接工具的妙用

​Arcgis功能真的无比强大&#xff0c;读书时一般只会用到一些常见的&#xff0c;工作后挖掘了很多新功能&#xff0c;数据处理效率大幅提升&#xff0c;个人觉得arcgis是最强大最好用的gis软件&#xff01;本节给大家分享下空间连接功能的两个妙用。空间连接功能很多giser应该…

linux重装hal服务安装,linux ubuntu 安装微信客户端

下载(我的系统是32 位的)rootmarhal:/opt# wget https://github.com/geeeeeeeeek/electronic-wechat/releases/download/V2.0/linux-ia32.tar.gz解压rootmarhal:/opt# tar xvf linux-ia32.tar.gz下载微信图标移动到解压目录rootmarhal:/home/marhal/下载# mv wechat.ico /opt/e…