VS中C++ 项目重命名
来源:互联网 发布:解放沉迷软件 编辑:程序博客网 时间:2024/05/19 13:05
应该都有过这样的经历,在Visual studio中创建解决方案,添加几个项目进去,然后开始愉快的敲代码…。写代码正欢的时候,却总是感觉那里有些不舒服,一细看,这项目名称取的真心挫,修改个吧。直接右击项目名->重命名,修改一个让自己舒心的名称。然而,真的就这么简单么。打开项目所在文件夹,怎么文件夹名字还是原来的那个啊,对于有强迫症的人来说这是不能认的。改了!然而,重新打开解决方案却发现,修改名称的那个项目加载失败…。具体如下图
显然,真名粗暴的修改是不行的。要想正确的修改项目的名称,首先要明白Visual studio 各个文件的组织方式。在VS中,最顶级的是解决方案 Solution,其可以包含多个项目 Project,在Project中包含的就是源代码(.cpp,.h)。只要是在VS下工作,至少有一个Solution和一个或者多个Project。当新建一个项目时,默认的会为该项目创建一个同名的解决方案,如下图:
Solution Project
在VS中,Solution有一个相对应的solutionname.sln文件,该文件中保存了解决方案中包含的项目及项目所在的位置。每一个项目队友一个对应的projectname.vcxproj,该文件中保存了项目的名称,项目中包含的.h .cpp文件及其它一些项目的属性。
上图是sample.sln的内容,VisualStudioVersion=12.0指出该解决方案的是VS2013的,能够打开该解决方案的最小版本MinimumVisualStudioVersion=10.0。后面就是该solution中包含的两个项目GifGenerator和Threadsafe_queue,及其所在的位置。
上图是Threadsafe_queue项目的vcxproj文件中ProjectName所对应的节点,直接右击项目->重命名修改的只是这里的值。
修改项目名称
直接右击项目->重命名只是改了project的vcxproj文件中的ProjectName的值,而如果手动修改了项目文件夹的名称,就会造成解决方案按照其sln文件加载对应的项目时,找不到正确的项目路径,所以会加载失败。
有了以上的描述,再来修改项目的名称就简单了,有以下几个步骤:
1. 右击项目-> 重命名,修改一个高大上的名称
2. 修改项目对应的项目文件夹的名称及其对应的vcxproj文件名称
3. 修改解决方案的sln文件,将项目名称和项目路径修改为正确的值。
Summary
一个VS项目看起来有很多文件,感觉杂乱无章。其中的很多文件是编译器生成的(编译器所需的自动提示,符号表等),真正构建一个解决方案的文件也就那么几个。
如上图,一个解决方案下有一个sln文件及其包含的两个项目的文件夹。而每一个项目除了其所包含的.cpp .h源码文件外,其余的就两个projcetName.vcxproj是上面提到的project文件;另一个就是projectName.vcxproj.filters 文件,这个文件保存了在项目中的源代码文件文件的分组情况,例如常见的头文件,源文件,也可以添加自定义的分组,这些信息就保存在该文件中。有了这些了解以后,将项目托管到git上,就知道了那些文件应该push,那些文件应该ignore了。
- VS中C++ 项目重命名
- VS中C++ 项目重命名
- my eclipse中项目重命名问题
- MyEclipse中Web项目的重命名问题
- MyEclipse中Web项目的重命名问题
- iOS 在 Xcode 中重命名项目名称
- iOS 在 Xcode 中重命名项目名称
- iOS 在 Xcode 中重命名项目名称
- MyEclipse中Web项目的重命名问题
- iOS在Xcode中重命名项目名称
- iOS 在 Xcode 中重命名项目名称
- vs,C++Win32项目中,添加运行窗口
- vs控件无法重命名
- Xcode 项目重命名 + .xcworkspace重命名
- Windows程序(C# VS 2008)杂记之重命名项目名、项目文件夹、命名空间
- VS项目重命名工具,不再为重命名项目,命名空间,文件夹,相互引用关系而烦恼
- 项目文件""已被重命名或已不在解决方案中
- 项目文件“ ”已被重命名或已不在解决方案中
- littlecode
- osgearth2.8编译实现(VS2012 win10)
- 数据挖掘常用算法整理
- 关键字static/const的作用
- 支付流程简单逻辑分析
- VS中C++ 项目重命名
- Java动态代理机制详解(JDK 和CGLIB,Javassist,ASM)
- Scrum敏捷开发
- js中innerHTML与innerText的用法与区别
- Java的位运算(bitwise operators)
- 关于setTimeout()得到的教训
- ORA-00020:maximum number of processes (150) exceeded 错误解决方法
- 在Django框架中进行字符串翻译
- Oracle导出数据与导入数据语句