2

如果可能的話,是否有人知道如何在Visual Studio 2008中使用Visual Studio 2010(編譯器/鏈接器/ sdk)附帶的完整C++工具集?
會改變所有的目錄聽選項 - >項目和解決方案 - > VC++目錄是否足夠,或者有更多的?假設我這樣嘗試,有沒有什麼要注意的地方?如何在Visual Studio 2008中使用Visual Studio 2010 C++工具?

+0

雖然你可以得到這個工作,但這不可能是一個非常愉快的經歷。 Visual Studio 2010爲Visual C++添加了多目標支持,因此您可以使用它來定位不同版本的工具集,包括Visual C++ 2008和Visual C++ 2010,但該功能在Visual Studio 2008中不存在。 – 2011-04-09 07:54:05

+0

@JamesMcNellis:但請求是相反的,即使用VS2008 IDE和更新的C++編譯器。 – 2012-04-19 18:18:16

+0

@ Mr_C64:我知道請求是什麼。正如我在評論開始時所指出的那樣,「你可以做到這一點,這不可能是一個非常愉快的經歷。」然後,我建議Visual Studio 2010具有多目標支持,如果您想要同時定位2008和2010編譯器,那麼使用Visual Studio 2010 IDE(和基於MSBuild的vcxproj項目)以及使用這兩個編譯器編譯器。這就是說,我很高興stijn找到了一個相對簡單的解決方案。 – 2012-04-19 18:25:01

回答

3

我有點忘了這個問題,直到今天有朋友說C++ 0x有多偉大。我仍然愛上VS2008,比2010年更重要,因爲它比所有事情都慢,因此決定放棄它。 而且,我仍然無法相信它,但實際上只有極少的黑客行爲。

它的效果很好:在VS2008之前,你甚至都沒有注意到它實際上使用了2010工具集。除非你看cl/link的標誌。或者當然,除非你突然能夠使用lambdas。至今我都找不到任何問題。編輯等工作,像alwasy做的,建築工程,調試工作,這就是我需要的。

這裏就是我所做的:

  • 做一個批處理文件設置爲使用envorinment與Windows SDK 7.1/VS2010工具集,但是從VS2008安裝離開devenv的。大部分來自2010年的setenv.cmd。
  • 現在髒位:將msobj100.dll,mspdb100.dll,mspdbcore.dll和mspdbsrv.exe複製到2010的VSINSTALLDIR/bin目錄(或將它們放在PATH somweher中)。這是必需的,否則cl.exe不起作用,也不會調試。
  • 從同一命令行發射,其中批處理文件是使用devenv /useenv
  • 微笑運行

這是爲了在x64機器所使用的批處理文件:

SET PlatformToolset=Windows7.1SDK 
SET ToolsVersion=4.0 
SET WindowsSDKVersionOverride=v7.1 
SET Path32=%ProgramFiles(x86)% 
SET "VCINSTALLDIR=%Path32%\Microsoft Visual Studio 10.0\VC\" 
SET "VSINSTALLDIR=%Path32%\Microsoft Visual Studio 10.0\" 
SET "VCTools=%VCINSTALLDIR%Bin" 
SET "VCTools=%VCTools%;%VCTools%\VCPackages;" 
SET "VCLibraries=%VCINSTALLDIR%Lib" 
SET "VCIncludes=%VCINSTALLDIR%INCLUDE" 
SET Path=%FxTools%;%VSTools%;%VCTools%;%SdkTools%;%Path% 
SET OSLibraries=%WindowsSdkDir%Lib 
SET OSIncludes=%WindowsSdkDir%INCLUDE;%WindowsSdkDir%INCLUDE\gl 
SET "LIB=%VCLibraries%;%OSLibraries%;%FxTools%" 
SET "LIBPATH=%FxTools%;%VCLibraries%" 
SET "INCLUDE=%VCIncludes%;%OSIncludes%" 

EDIT代替批處理文件具有組合/ useenv,還有另一種相同但更直接的方式:VC++目錄的設置全部保存在文件%APPDATA%/ VisualStudio/9.0/VCComponents.dat中。因此,如果您採用原始版本,並用$(ProgramFiles)\ Microsoft Visual Studio 10.0 \ VC \替換所有出現的$(VCINSTALLDIR),它也可以工作。

相關問題