现在的位置: 首页 > 综合 > 正文

VS2010工程转换为VS2005工程

2013年04月09日 ⁄ 综合 ⁄ 共 1899字 ⁄ 字号 评论关闭

原文地址::http://blog.sina.com.cn/s/blog_6a1cdb3f0101qqx7.html

相关网帖

1、关于vs2005、vs2008和vs2010项目互转的总结----http://blog.csdn.net/amberman/article/details/8027382

2、VS2010,VS2008,VS2005;工程之间的转换----http://www.cnblogs.com/panjun/archive/2011/03/03/1969862.html

VS版本繁多,vc6.0/VS2005/VS2008/VS2010...

 

当拿到某个版本编译好的源码之后,如果电脑上没有安装那个版本的编译器,那么,学习源码将变得困难。

 

当然,解决办法是有的,而且不止一个:
1.使用机子上的编译器,创建一个工程,将工程源文件和头文件等资源手动加入自己的工程,添加对应的设置,然后编译。
缺点-->当工程文件结构十分复杂的时候,或许你耐心地将所有文件添加完了(若是打不开工程的前提下,连结构是什么样都不得而知),最后也不见得编译成功,因为你可能漏掉了一些细节。当然,若是文件不多,结构也显而易见,那么这种方法可取。

 

2.直接打开解决方案(.dsw/.sln),编译器会做自动的升级转换。
局限-->改方法只适用于旧版本升级为新版本。

 

3.干脆把所有版本的编译器都装上就好了。
缺点-->很占机子的空间(至少我这样觉得),而且有些没啥必要装(比如vc6.0)。

 

4.手动修改相关的工程文件,可以实现新旧版本之间的转换。
优点-->当工程文件结构十分复杂的时候,不需要关心工程内部结构~


我平时在网上搜集到的源码有很多跟我自己装的编译器版本不一样,而且程序结构很复杂,于是我查找了下第四种方法。

 

平时我编程用的是VS2005,理由是[完全由我个人情况而定,每个人选择不同]:

1.在我上学期间,都是用vc6.0,而且还觉得蛮好用的。但是上班之后,同事告诉我,他们都用VS2005。

 

2.虽然很多人觉得2010更好用,但是由于原因1,我习惯使用VS2005了。

 

3.也在自己机子上装过VS2010,安装过程曲折不说,vc/vs助手对它还不起作用...[其他机子上成功安装过VS2010,且助手可用,可见这也是要看情况的]

 

总之,我希望拿到VS2005以上版本的工程之后,都能转换成VS2005的。


转换方法参考的是以下链接:
http://blog.csdn.net/amberman/article/details/8027382
其实他也是转的,但是他在留言板下补充了一两点,按照他的方法,我也终于尝试成功了。


我自己试验的,是将vc++的win32控制台vs2010工程,转换为VS2005的对应工程。步骤如下:
1.打开.sln文件。
①将版本号11.00改为9.00;
②Visual Studio 2010修改成Visual Studio 2005;
③将vcxproj改为vcproj,如Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vlcwin", "vlcwin\vlcwin.vcxproj", "{7E3363F9-AD51-4D81-82C2-E11EA26C5C37}"改为Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vlcwin", "vlcwin\vlcwin.vcproj", "{7E3363F9-AD51-4D81-82C2-E11EA26C5C37}"。

 

2.打开所有的工程文件,即所有后缀名中包含vcproj的文件。
①将ToolsVersion="4.0"字样的全部删除;
②教程上说将MSBuildToolsPath改为MSBuildBinPath,而我无论是MSBuildToolsPath还是MSBuildBinPath都没找到,所以就没进行这一步了;
③将Version改为8.00
ps:一个解决方案中可能有多个项目,每一个都需要进行修改,否则那个项目不能正确加载。

 

3.打开.sln。
①可能会提示你要升级,那就按照默认选项升级吧~
②打开解决方案之后,若是成功转换,就会看到项目被正确加载,结构不变哈~

//==============================================================================================================

备注::

1》我按上面的方法没有转换成功!!!

抱歉!评论已关闭.