#visual-studio #visual-studio-2008 #visual-studio-2010 #visual-c
#visual-studio #visual-studio-2008 #visual-studio-2010 #visual-c
Вопрос:
Если это вообще возможно, кто-нибудь знает, как использовать полный набор инструментов c , поставляемый с Visual Studio 2010 (компилятор / компоновщик / sdk) в Visual Studio 2008?
Будет ли достаточно изменить все каталоги, прослушиваемые в разделе Параметры-> Проекты и решения-> Каталоги VC , или есть что-то еще? И предположим, я попробую это таким образом, есть ли какие-либо оговорки к этому?
Комментарии:
1. Хотя вы могли бы заставить это работать, вряд ли это будет очень приятным опытом. В Visual Studio 2010 добавлена поддержка мультитаргетинга для Visual C , поэтому вы можете использовать ее для таргетинга на разные версии набора инструментов, включая Visual C 2008 и Visual C 2010, но в Visual Studio 2008 эта функция отсутствует.
2. @JamesMcNellis: но запрос противоположный, т. е. используйте VS2008 IDE с более новым компилятором C .
3. @Mr_C64: Я в курсе, что это был за запрос. Как я отметил в начале своего комментария, «вы могли бы заставить это работать, вряд ли это будет очень приятным опытом». Затем я предположил, что Visual Studio 2010 поддерживает мультитаргетинг, и если вы хотите настроить таргетинг на оба компилятора 2008 и 2010 годов, вам было бы намного проще использовать Visual Studio 2010 IDE (и проекты vcxproj на основе MSBuild) и компилировать с помощью обоих компиляторов. Тем не менее, я рад, что stijn нашел относительно простое решение.
Ответ №1:
Я вроде как забыл об этом вопросе, пока сегодня друг не сказал, каким замечательным был C 0x. Я все еще влюблен в VS2008, гораздо больше, чем в 2010, который, прежде всего, медленный, поэтому решил попробовать. И я все еще не могу в это поверить, но с минимумом взломов это действительно работает.
И это отлично работает: сидя перед VS2008, вы даже не замечаете, что на самом деле используется набор инструментов 2010. Если только вы не посмотрите на логотип cl / link. Или отклониться от курса, если только вы внезапно не сможете использовать лямбды. Пока я не смог найти никаких проблем. Редактирование etc работает так же, как и всегда, сборка работает, отладка работает, это все, что мне нужно.
Вот что я сделал:
- создайте пакетный файл, настраивающий среду для использования с набором инструментов Windows SDK 7.1 / VS2010, но оставив devenv из установки VS2008. В основном скопировано это из setenv.cmd 2010.
- теперь грязный бит: скопируйте msobj100.dll , mspdb100.dll , mspdbcore.dll и mspdbsrv.exe в каталог VSINSTALLDIR /bin 2010 (или поместите их в свой PATH как-нибудь еще). Это требуется еще 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.0VC"
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%INCLUDEgl
SET "LIB=%VCLibraries%;%OSLibraries%;%FxTools%"
SET "LIBPATH=%FxTools%;%VCLibraries%"
SET "INCLUDE=%VCIncludes%;%OSIncludes%"
РЕДАКТИРОВАТЬ вместо пакетного файла в сочетании с /useenv есть другой способ, который делает то же самое, но более прямой: все настройки для каталогов VC сохраняются в файле %APPDATA%/VisualStudio/9.0/VCComponents.dat. Итак, если вы возьмете исходный и замените все вхождения $ (VCINSTALLDIR) на $ (ProgramFiles) Microsoft Visual Studio 10.0 VC , это также сработает.