编程环境:VS2013,MFC
(转载自: 春夜喜雨 http://blog.csdn.net/chunyexiyu )
原文:https://blog.csdn.net/chunyexiyu/article/details/9376007
网上资源太多,未免后续重复查找,所以将成功使用的方法转载一下,方便后续查看。
1.VS项目复制的话,复制这些文件即可:
.\ res
*.cpp
*.h
ReadMe.txt
*.dsp
*.vcproj & *.vcxproj & *.vcxproj.user & *.vcxproj.filter
*.def
*.rc
不需要复制:
.\Release
.\Debug
*.ncb
*.sln
*.aps
…\bin
…\lib
2.VS-改名称的话,涉及的文件改名
a. 文件夹改名称: 例如 AAAProject/AAAProject --〉 BBBProject/BBBProject
b. 修改的vcporj\vcxproj相关文件:例如 AAAProject_vc80.vcproj --〉 BBBProject_vc80.vcproj
c. Dll库时修改.def文件内容:例如 LIBRARY “AAAProject” --〉LIBRARY “BBBProject”
建议可以把所有包含 原工程名的 改为包含 新工程名.,这样后续步骤可以直接做
*把所有相关的文件名替换为新工程名
3.VS-项目工程文件内容替换
把相关vcproj & vcxproj中做替换,可以使用notepad++或utraledit等,替换 原工程名 -> 新工程名
***我用的是notepad++下载很方便,附下载地址:**https://pc.qq.com/detail/0/detail_1300.html
4.VS-代码中内容替换
使用vs打开项目,然后使用vs的替换功能,替换所有 原工程名 -> 新工程名
经过这4步,基本上原工程就被彻底替换成新工程名了,这时候可以编译试试,一般情况下没有太多错误,当然了注意做好备份。
*按照上述操作完之后遇到一个问题:资源视图中的rc文件显示不出来;
解决方法:在资源管理器中将原有的.rc和.rc2文件移除,将备份后的.rc和.rc2文件再添加进去(粘贴到原先文件夹位置),然后就ok了。
附注. 下面是一个使用awk的替换脚本,算是多一个选择,但不建议用,还是使用notepad++ & Utlraedit 替换比较方便
关于第二项修改配置的方法,这里提供一个法,使用awk/shell快速替换,适合于有一定脚本基础的
(在windows下,通过下载一份winshell来使用),例如替换MyTestProject->MyProject,使用这个可以把整份配置文件一次性全替换,另外可以随意定制替换的内容,比较方便。
projectName=“MyProject”
vc80prj=${projectName}\${projectName}\ p r o j e c t N a m e v c 80. v c p r o j v c 90 p r j = {projectName}_vc80.vcproj vc90prj= projectNamevc80.vcprojvc90prj={projectName}\${projectName}\ p r o j e c t N a m e v c 90. v c p r o j v c 10 p r j = {projectName}_vc90.vcproj vc10prj= projectNamevc90.vcprojvc10prj={projectName}\${projectName}\ p r o j e c t N a m e v c 100. v c x p r o j v c 80 p r j N e w = {projectName}_vc100.vcxproj vc80prjNew= projectNamevc100.vcxprojvc80prjNew={vc80prj}.1
vc90prjNew= v c 90 p r j . 1 v c 10 p r j N e w = {vc90prj}.1 vc10prjNew= vc90prj.1vc10prjNew={vc10prj}.1
#replace vc100
###############################################################################
sed ‘s/MyTestProject/MyProject/gi’ $vc10prj > vc10prjNew
#replace vc90
###############################################################################
sed ‘s/MyTestProject/MyProject/gi’ $vc90prj > vc90prjNew
#replace vc80
###############################################################################
sed ‘s/MyTestProject/MyProject/gi’ $vc80prj > vc80prjNew
脚本执行后,生成一份以.1结尾的同名文件,然后使用beyond compare比较,检查替换的内容是否OK,OK的话,复制进行即可。