日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪(fǎng)問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

有关vs平台工作集

發(fā)布時(shí)間:2023/12/10 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 有关vs平台工作集 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

很多時(shí)候,你的電腦上安裝了vs2013但是你卻需要的是早期版本的平臺(tái)工作集,怎么辦呢?安裝其他的平臺(tái)工作集唄。

如下:

vs2010版本之后支持使用之前的版本編譯,可以在?屬性->常規(guī)中找到。


需要安裝對(duì)應(yīng)的vs版本才可以使用各自對(duì)應(yīng)的選項(xiàng)。其中vs2013中可以識(shí)別已經(jīng)安裝的vs2012(Visual Studio 2012 (v110)), vs2012可以識(shí)別已安裝的vs2010(Visual Studio 2010 (v100)),vs2010可以識(shí)別已經(jīng)安裝的vs2008(Visual Studio 2008(v90)).

另外vs2012以后的版本,都有xp的選項(xiàng)。


以上平臺(tái)工具集的本質(zhì)是msbuild,其文件所在目錄為:

C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0


按照官方文檔,v100(vs2010)之前的在Platforms目錄中,之后的版本分別在V+版本號(hào)的目錄中。

如果想使用vs2008之前的版本,可以使用daffodil,下載地址http://daffodil.codeplex.com/

安裝之后目錄如下:


然后在平臺(tái)工具集中就可以指定v60到v100的各個(gè)版本。


以上來(lái)源于:http://blog.csdn.net/hillseas/article/details/47373313 和http://daffodil.codeplex.com/downloads/get/347180

以下來(lái)源于:http://www.cnblogs.com/Athrob/archive/2012/06/06/2538711.html

VS2010是支持使用不同版本的VC進(jìn)行編譯的.只是沒(méi)太多人研究而已.

首先從http://daffodil.codeplex.com/?下載支持工具進(jìn)行安裝(開(kāi)源項(xiàng)目,有興趣可自行研究).

安裝完后會(huì)在VS2010項(xiàng)目屬性的"平臺(tái)工具集"子項(xiàng)那看到不再是只有之前的v90和v100了,里面出現(xiàn)了從v60 v70 v71 v80 就是對(duì)應(yīng)的vc6 vc7 vc7.1 vc8了

當(dāng)然如果你系統(tǒng)里已經(jīng)裝過(guò)了這些版本,那直接就可以用了,不用任何額外設(shè)置.

下面的情況是針對(duì)系統(tǒng)只裝了vs2010的機(jī)器

"平臺(tái)工具集"每個(gè)版本都需要有各自的include lib等文件,默認(rèn)是從注冊(cè)表中進(jìn)行讀取

這些文件就在已裝VS版本主目錄下的VC目錄里.比如include crt atlmfc lib這些文件夾,可以去別電腦里拷貝過(guò)來(lái)

另外,編譯時(shí)還需要指定版本的bin文件,比如cl.exe link.exe,其中cl.exe還會(huì)需要合適的mspdb*.dll(*為特定版本號(hào))等文件

所以還要去Common7目錄下的IDE目錄里去找這些文件.

總之,每個(gè)版本有自己的include lib等文件的同時(shí)還要保證編譯器 鏈接器等能正常運(yùn)行就可以了.

這些文件都找齊后,接下來(lái)就是修改注冊(cè)表能讓VS2010找到我們的文件在哪.

注冊(cè)表路徑可以參考C:\Program Files\MSBuild\Microsoft.Cpp\v4.0\Platforms\Win32\PlatformToolsets下面的v**(版本號(hào))目錄里的Microsoft.Cpp.Win32.v**.props文件

該文件就是對(duì)VS2010中用到的幾個(gè)環(huán)境變量進(jìn)行賦值等操作.常用的有

$(VSInstallDir) ----VS安裝目錄(某些dll需要用到)

$(VCInstallDir) ----VC安裝目錄(include lib文件等)

$(ExecutablePath) ----可執(zhí)行工具目錄(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>

綠色粗體部分就是該版本所需要的各種文件的路徑,注意路徑必須以"\"結(jié)尾.

$(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) 是根據(jù)上面的兩個(gè)環(huán)境變量去設(shè)置,里面有?$(VSInstallDir)Common7\ide?說(shuō)明有可能會(huì)用到里面的dll或者exe等可執(zhí)行文件(實(shí)驗(yàn)中此處是用到了ide里的mspdb80.dll).

這文件是xml格式的語(yǔ)法沒(méi)詳細(xì)研究的,但不難看出 <VCInstallDir Condition="'$(VCInstallDir)' == ''">*</VCInstallDir> 這一句應(yīng)該是$(VCInstallDir)這個(gè)環(huán)境變量為空時(shí)才會(huì)設(shè)置$(VCInstallDir)的值(避免覆蓋已有設(shè)置)

這樣就把注冊(cè)表里加上我們需要的路徑就可以了.不推薦直接修改本文件,不知道為啥不推薦.....

我把VC6 VC7.1和VC9的平臺(tái)工具集打包一下上傳了,還附帶寫(xiě)了個(gè)注冊(cè)表腳本可以視情況修改導(dǎo)入.

之所以不制作VC7.0和VC8的工具集,1是電腦上沒(méi)裝,2是感覺(jué)這三個(gè)版本都比較經(jīng)典.VC6以快著稱(chēng) VC7.1折中 VC8和VC9都差不多的.

對(duì)了,VC8(VS2005)和更高版本需要注意time_t類(lèi)型占用空間問(wèn)題,VC8以下的是32位的,VC8和更高版本默認(rèn)是64位的,可以定義宏_USE_32BIT_TIME_T來(lái)使用32位time_t.

鏈接:http://pan.baidu.com/s/1milgsZ2?密碼:m1rx

偷懶的直接下

VCPlatformTools.7z

這個(gè)文件,里面包含了VC6,VC7.1,VC9的文件和注冊(cè)表文件還有一份簡(jiǎn)易說(shuō)明

以上兩部分都是解決vs2010安裝其他早期平臺(tái)工作集的介紹,雖然沒(méi)有解決我vs2013安裝v100的問(wèn)題,但還是有用的信息,所以收集起來(lái)了。

總結(jié)

以上是生活随笔為你收集整理的有关vs平台工作集的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。