在VS2012下不安装VS2010编译VS2010的工程
2014-08-15 11:36
344 查看
虽然一路追随这VISUAL SUTDIO在编程,但是断档的情况还是有的,最近一次硬盘问题使得安装了所有的VS2003-VS2012的机器硬盘挂了,无奈只能够安装了,不过觉得没啥用了,就安装一个VS2012不就OK了嘛,不过因为VS2012对VS2010完美支持vcxproj,使得完全可能在VS2012中编译VS2010的工程,但是必须安装IDE,这太麻烦了,有人也提出了不安装VS2010进行工程编译的想法,不过最后也没有得出结论。
之前也有过研究,发现MSBUILD进行编译的需要一套“规则”,都是放在MSBuild/Microsoft.Cpp/v4.0下面,在VS2010的时候占用了整个目录,结果V110只能够单独用一个目录来存放差不多的东西了。如果从安装好VS2010的机器上放整个这个目录的内容,在VS2012里面切换编译器platformtoolset就可以看到有VisualStudio 2010的提示,开始还以为需要修改注册表的其实完全不用!
不过直接编译还是会报错,大概意思就是找不到Microsoft.Build.CppTasks.Common和之前看到的差不多了,也就是说这个需要注册,因为是.NET的,所以基本上就是放到GAC里面去,用gacutil -i就可以解决问题了(需要注意gacutil的版本,默认的话会使用低版本的gacutil会提示无法加载,其实用2012自带的gacutil即可,也可以用microsoft sdks下面的工具,只要是.NET4以上的),这下出错提示也改为找不到某些环境变量,其一是VCInstallDir,另外一个是WindowsSdkDir,这需要依靠注册表。从安装了VS2010的机器上来看,这些在HKLM/Software/Microsoft/VisualStudio/里面的10.0整个复制过来(很大的,6M,压缩一下吧),然后还有是HKLM/Software/Microsoft/Microsoft SDKs也整个复制过来,这下warning都没了,只有提示Microsoft.Build.CppTasks.Win32找不到,肯定还要注册,继续把MSBuild\Microsoft.Cpp\v4.0\Platforms\Win32这个下面的也注册了,把x64也注册了。
这个时候CL和LINK还有WindowsSDK就绪(复制到经典目录下吧!)然后编译竟然就可以了!看来情况不是太复杂啊,另外编译结束的时候发现mt.exe不存在,这个估计是复制的目录选的不好,如果没有的话从VS2010那7.0A的bin下面复制到对应的目录下即可,注意.manifest啥的也需要~
另外查了一下关于MSBuild独立安装的资料,似乎只需要把Microsoft SDKs Windows安装完以后,就会有MSBuild安装完,即如果需要实现编译服务器无VS2010也是可能的!
之前也有过研究,发现MSBUILD进行编译的需要一套“规则”,都是放在MSBuild/Microsoft.Cpp/v4.0下面,在VS2010的时候占用了整个目录,结果V110只能够单独用一个目录来存放差不多的东西了。如果从安装好VS2010的机器上放整个这个目录的内容,在VS2012里面切换编译器platformtoolset就可以看到有VisualStudio 2010的提示,开始还以为需要修改注册表的其实完全不用!
不过直接编译还是会报错,大概意思就是找不到Microsoft.Build.CppTasks.Common和之前看到的差不多了,也就是说这个需要注册,因为是.NET的,所以基本上就是放到GAC里面去,用gacutil -i就可以解决问题了(需要注意gacutil的版本,默认的话会使用低版本的gacutil会提示无法加载,其实用2012自带的gacutil即可,也可以用microsoft sdks下面的工具,只要是.NET4以上的),这下出错提示也改为找不到某些环境变量,其一是VCInstallDir,另外一个是WindowsSdkDir,这需要依靠注册表。从安装了VS2010的机器上来看,这些在HKLM/Software/Microsoft/VisualStudio/里面的10.0整个复制过来(很大的,6M,压缩一下吧),然后还有是HKLM/Software/Microsoft/Microsoft SDKs也整个复制过来,这下warning都没了,只有提示Microsoft.Build.CppTasks.Win32找不到,肯定还要注册,继续把MSBuild\Microsoft.Cpp\v4.0\Platforms\Win32这个下面的也注册了,把x64也注册了。
这个时候CL和LINK还有WindowsSDK就绪(复制到经典目录下吧!)然后编译竟然就可以了!看来情况不是太复杂啊,另外编译结束的时候发现mt.exe不存在,这个估计是复制的目录选的不好,如果没有的话从VS2010那7.0A的bin下面复制到对应的目录下即可,注意.manifest啥的也需要~
另外查了一下关于MSBuild独立安装的资料,似乎只需要把Microsoft SDKs Windows安装完以后,就会有MSBuild安装完,即如果需要实现编译服务器无VS2010也是可能的!
相关文章推荐
- 安装完VS2010之后再安装VS2012以后,发现VS工程编译出现--fatal error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏
- 安装Vs2012后,编写Vc++程序找不到系统头文件和导致VS2010工程编译的问题
- 同时安装vs2010和VS2012后IEnumerable<ModelClientValidationRule>编译错误
- 关于安装vs2012后,vs2010每次编译都重新生成,即生成过期
- 【Error】安装VS2012后VS2010工程失败
- 如何用VS2010打开并编译和生成VS2012编写的工程
- 安装VS2012后VS2010无法编译成功
- 安装vs2012 之后,vs2010 编译程序出现fatal error LNK1123 转换到 COFF 期间失败 文件无效或损坏
- HXSafeGuard工程通过VS2010编译未安装VS2008出现以下错误
- 同时安装vs2010和VS2012后IEnumerable<ModelClientValidationRule>编译错误
- vs2010 之后安装vs2012,原VS2010里的测试工程不能使用的解决方法
- 【Error】安装VS2012后VS2010工程失败
- VS2012创建的工程让VS2010可编译的方法
- 同时安装vs2010和VS2012后IEnumerable<ModelClientValidationRule>编译错误
- 安装vs2012,编译vs2010项目提示_MSC_VER”的不合适解决办法
- VS2010 Boost编译安装
- 使用Cocos2D-x创建VS2010工程并引入box2d物理引擎,解决编译错误
- VS2010 Boost编译安装(原) - 云端小飞象cg - 博客园
- VS2010 Boost编译安装
- VS2012安装后 VS2010出现fatal error LNK1123: failure during conversion to COFF