必威体育Betway必威体育官网
当前位置:首页 > IT技术

有关vs平台工作集

时间:2019-09-26 16:11:08来源:IT技术作者:seo实验室小编阅读:63次「手机版」
 

vs平台

很多时候,你的电脑上安装了vs2013但是你却需要的是早期版本的平台工作集,怎么办呢?安装其他的平台工作集呗。

如下:

vs2010版本之后支持使用之前的版本编译,可以在 属性->常规中找到。

需要安装对应的vs版本才可以使用各自对应的选项。其中vs2013中可以识别已经安装的vs2012visual studio 2012 (v110)), vs2012可以识别已安装的vs2010(Visual Studio 2010 (v100)),vs2010可以识别已经安装的vs2008(Visual Studio 2008(v90)).

另外vs2012以后的版本,都有xp的选项。

以上平台工具集的本质是msbuild,其文件所在目录为:

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的问题,但还是有用的信息,所以收集起来了。

相关阅读

购买淘宝店铺哪里安全?一定要找正规的第三方平台

买淘宝店铺安全吗?在问这个问题之前我们先看看淘宝网店过户,简单来说网店过户流程有经营者申请过户,提交资料,换绑支付宝,然后过户完

vs2010复制粘贴

void CjiantiebanDlg::OnBnClickedButton1(){// TODO: 在此添加控件通知处理程序代码//复制 CString str; GetDlgItem(IDC_ED

怎么在各大平台推广app?怎么推广最有效?

怎么在各大平台推广app?怎么推广最有效?很多开发者辛辛苦苦写出来的app,却无人问津。那种心酸只有亲身体会才知道多无奈。小编在这里

淘宝充值平台刷信誉方法可行吗?

有些商家刚刚入驻淘宝平台,想要快速的提升自己店铺的信誉,就利用一些充值商品来进行刷单从而快速的提升店铺的信誉。今天小编就和大

网赌遇到平台出款系统维护不能提款怎么办?

在互联网时代,总有很多高利诱惑,黑网横行,骗子无数,怎么在虚幻的网络里保护自己的资金安全。被黑了第一件事就是一定要冷静粗黑企鹅,保

分享到:

栏目导航

推荐阅读

热门阅读