zoukankan      html  css  js  c++  java
  • 在VS2012下不安装VS2010编译VS2010的工程

    虽然一路追随这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找不到,肯定还要注册,继续把MSBuildMicrosoft.Cppv4.0PlatformsWin32这个下面的也注册了,把x64也注册了。

    这个时候CL和LINK还有WindowsSDK就绪(复制到经典目录下吧!)然后编译竟然就可以了!看来情况不是太复杂啊,另外编译结束的时候发现mt.exe不存在,这个估计是复制的目录选的不好,如果没有的话从VS2010那7.0A的bin下面复制到对应的目录下即可,注意.manifest啥的也需要~

    另外查了一下关于MSBuild独立安装的资料,似乎只需要把Microsoft SDKs Windows安装完以后,就会有MSBuild安装完,即如果需要实现编译服务器无VS2010也是可能的!

  • 相关阅读:
    uniapp 小程序分享功能
    uniapp 输入有值后按钮变色
    css 跑马灯
    uniapp 复选框问题
    【Python】where cut query melt函数用法
    【Python】Pivot_table透视表用法及CategoricalDtype自定义排序
    【Python】Merge函数的用法
    【Python】extract及contains方法(正则提取筛选数据)
    Promise
    CSS垂直居中的方法
  • 原文地址:https://www.cnblogs.com/gc2013/p/3912426.html
Copyright © 2011-2022 走看看