vs平台
很多时候,你的电脑上安装了vs2013但是你却需要的是早期版本的平台工作集,怎么办呢?安装其他的平台工作集呗。
如下:
vs2010版本之后支持使用之前的版本编译,可以在 属性->常规中找到。
需要安装对应的vs版本才可以使用各自对应的选项。其中vs2013中可以识别已经安装的vs2012(visual studio 2012 (v110)), vs2012可以识别已安装的vs2010(Visual Studio 2010 (v100)),vs2010可以识别已经安装的vs2008(Visual Studio 2008(v90)).
另外vs2012以后的版本,都有xp的选项。
C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0
按照官方文档,v100(vs2010)之前的在Platforms目录中,之后的版本分别在V+版本号的目录中。
如果想使用vs2008之前的版本,可以使用daffodil,下载地址http://daffodil.codeplex.com/
安装之后目录如下:
然后在平台工具集中就可以指定v60到v100的各个版本。
以上来源于:http://blog.csdn.net/hillseas/article/details/47373313 和http://daffodil.codeplex.com/downloads/get/347180以下来源于:http://www.cnblogs.com/Athrob/archive/2012/06/06/2538711.html
VS2010是支持使用不同版本的VC进行编译的.只是没太多人研究而已.
首先从http://daffodil.codeplex.com/ 下载支持工具进行安装(开源项目,有兴趣可自行研究).
安装完后会在VS2010项目属性的"平台工具集"子项那看到不再是只有之前的v90和v100了,里面出现了从v60 v70 v71 v80 就是对应的vc6 vc7 vc7.1 vc8了
当然如果你系统里已经装过了这些版本,那直接就可以用了,不用任何额外设置.
下面的情况是针对系统只装了vs2010的机器
"平台工具集"每个版本都需要有各自的include lib等文件,默认是从注册表中进行读取
这些文件就在已装VS版本主目录下的VC目录里.比如include crt atlmfc lib这些文件夹,可以去别电脑里拷贝过来
另外,编译时还需要指定版本的bin文件,比如cl.exe link.exe,其中cl.exe还会需要合适的mspdb*.dll(*为特定版本号)等文件
所以还要去Common7目录下的IDE目录里去找这些文件.
总之,每个版本有自己的include lib等文件的同时还要保证编译器 链接器等能正常运行就可以了.
这些文件都找齐后,接下来就是修改注册表能让VS2010找到我们的文件在哪.
注册表路径可以参考C:\Program Files\MSBuild\Microsoft.Cpp\v4.0\Platforms\Win32\PlatformToolsets下面的v**(版本号)目录里的Microsoft.Cpp.Win32.v**.props文件
该文件就是对VS2010中用到的几个环境变量进行赋值等操作.常用的有
$(VSInstallDir) ----VS安装目录(某些dll需要用到)
$(VCInstallDir) ----VC安装目录(include lib文件等)
$(ExecutablePath) ----可执行工具目录(cl link等)
以VC7.1为例
1 <PlatformToolsetVersion>71</PlatformToolsetVersion> 2 <VCInstallDir>$(Registry:HKEY_local_MACHINE\SOFTWARE\Microsoft\visualstudio\7.1\Setup\VC@ProductDir)</VCInstallDir> 3 <VCInstallDir Condition="'$(VCInstallDir)' == ''">$(Registry:HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\VisualStudio\7.1\Setup\VC@ProductDir)</VCInstallDir> 4 <VCInstallDir Condition="'$(VCInstallDir)' == ''">$(Registry:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VCExpress\7.1\Setup\VC@ProductDir)</VCInstallDir> 5 <VCInstallDir Condition="'$(VCInstallDir)' == ''">$(Registry:HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\VCExpress\7.1\Setup\VC@ProductDir)</VCInstallDir> 6 <VSInstallDir>$(Registry:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\7.1\Setup\VS@ProductDir)</VSInstallDir> 7 <VSInstallDir Condition="'$(VSInstallDir)' == ''">$(Registry:HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\VisualStudio\7.1\Setup\VS@ProductDir)</VSInstallDir> 8 <VSInstallDir Condition="'$(VSInstallDir)' == ''">$(Registry:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VCExpress\7.1\Setup\VS@ProductDir)</VSInstallDir> 9 <VSInstallDir Condition="'$(VSInstallDir)' == ''">$(Registry:HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\VCExpress\7.1\Setup\VS@ProductDir)</VSInstallDir> 10 <windowsSdkDir Condition="'$(WindowsSdkDir)' == ''">$(VCInstallDir)PlatformSDK\</WindowsSdkDir> 11 <FrameworkDir Condition="'$(UseEnv)' != 'true'">$(Registry:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.netframework@InstallRoot)</FrameworkDir> 12 <FrameworkDir Condition="'$(FrameworkDir)' == ''">$(Registry:HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\.NETFramework@InstallRoot)</FrameworkDir> 13 <FrameworkSdkDir Condition="'$(UseEnv)' != 'true'">$(VSInstallDir)SDK\v1.1\</FrameworkSdkDir> 14 <FrameworkVersion Condition="'$(UseEnv)' != 'true'">v1.1.4322.573</FrameworkVersion> 15 <ExecutablePath Condition="'$(ExecutablePath)' == ''">$(VCInstallDir)bin;$(VCInstallDir)PlatformSDK\bin;$(VCInstallDir)PlatformSDK\common\bin;$(VSInstallDir)Common7\Tools\bin;$(VSInstallDir)Common7\tools;$(VSInstallDir)Common7\ide;$(ProgramFiles)\HTML Help Workshop;$(FrameworkSDKDir)bin;$(FrameworkDir)$(FrameworkVersion);$(VSInstallDir);$(SystemRoot)\syswow64;$(FxCopDir);$(PATH);</ExecutablePath> 16 <IncludePath Condition="'$(IncludePath)' == ''">$(VCInstallDir)include;$(VCInstallDir)atlmfc\include;$(VCInstallDir)PlatformSDK\include;$(VCInstallDir)PlatformSDK\common\include;$(FrameworkSDKDir)include;</IncludePath> 17 <ReferencePath Condition="'$(ReferencePath)' == ''">$(FrameworkDir)$(FrameworkVersion);$(VCInstallDir)atlmfc\lib;</ReferencePath> 18 <LibraryPath Condition="'$(LibraryPath)' == ''">$(VCInstallDir)lib;$(VCInstallDir)atlmfc\lib;$(VCInstallDir)atlmfc\lib\i386;$(VCInstallDir)PlatformSDK\lib;$(VCInstallDir)PlatformSDK\common\lib;$(FrameworkSDKDir)lib;$(VSInstallDir);$(VSInstallDir)lib;</LibraryPath> 19 <SourcePath Condition="'$(SourcePath)' == ''">$(VCInstallDir)atlmfc\src\mfc;$(VCInstallDir)atlmfc\src\atl;$(VCInstallDir)crt\src;</SourcePath>
绿色粗体部分就是该版本所需要的各种文件的路径,注意路径必须以"\"结尾.
$(VSInstallDir) 是从 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\7.1\Setup\VS 里读取ProductDir的值
$(VCInstallDir) 是从 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\7.1\Setup\VC 里读取ProductDir的值
$(ExecutablePath) 是根据上面的两个环境变量去设置,里面有 $(VSInstallDir)Common7\ide 说明有可能会用到里面的dll或者exe等可执行文件(实验中此处是用到了ide里的mspdb80.dll).
这文件是xml格式的语法没详细研究的,但不难看出 <VCInstallDir Condition="'$(VCInstallDir)' == ''">*</VCInstallDir> 这一句应该是$(VCInstallDir)这个环境变量为空时才会设置$(VCInstallDir)的值(避免覆盖已有设置)
这样就把注册表里加上我们需要的路径就可以了.不推荐直接修改本文件,不知道为啥不推荐.....
我把VC6 VC7.1和VC9的平台工具集打包一下上传了,还附带写了个注册表脚本可以视情况修改导入.
之所以不制作VC7.0和VC8的工具集,1是电脑上没装,2是感觉这三个版本都比较经典.VC6以快著称 VC7.1折中 VC8和VC9都差不多的.
对了,VC8(VS2005)和更高版本需要注意time_t类型占用空间问题,VC8以下的是32位的,VC8和更高版本默认是64位的,可以定义宏_USE_32BIT_TIME_T来使用32位time_t.
链接:http://pan.baidu.com/s/1milgsZ2 密码:m1rx
偷懒的直接下
VCPlatformTools.7z
这个文件,里面包含了VC6,VC7.1,VC9的文件和注册表文件还有一份简易说明
以上两部分都是解决vs2010安装其他早期平台工作集的介绍,虽然没有解决我vs2013安装v100的问题,但还是有用的信息,所以收集起来了。相关阅读
买淘宝店铺安全吗?在问这个问题之前我们先看看淘宝网店过户,简单来说网店过户流程有经营者申请过户,提交资料,换绑支付宝,然后过户完
void CjiantiebanDlg::OnBnClickedButton1(){// TODO: 在此添加控件通知处理程序代码//复制 CString str; GetDlgItem(IDC_ED
怎么在各大平台推广app?怎么推广最有效?很多开发者辛辛苦苦写出来的app,却无人问津。那种心酸只有亲身体会才知道多无奈。小编在这里
有些商家刚刚入驻淘宝平台,想要快速的提升自己店铺的信誉,就利用一些充值商品来进行刷单从而快速的提升店铺的信誉。今天小编就和大
在互联网时代,总有很多高利诱惑,黑网横行,骗子无数,怎么在虚幻的网络里保护自己的资金安全。被黑了第一件事就是一定要冷静粗黑企鹅,保