Visual Studio 2012, кажется, всегда вызывает 32-битную версию cl.exe
расположен в %ProgramFiles(x86)%\Microsoft Visual Studio 11.0\VC\bin\x86_amd64
) вместо 64-битной, расположенной по адресу %ProgramFiles(x86)%\Microsoft Visual Studio 11.0\VC\bin\amd64
,
Я пытался предугадывать $(VCInstallDir)bin\amd64
в начале списка «Исполняемые каталоги» в Каталоги VC ++ раздел Microsoft.Cpp.x64.user
список свойств, но это не работает вообще — когда я перестраиваю, я получаю эту ошибку:
TRACKER : error TRK0002: Failed to execute command: ""C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\bin\amd64\CL.exe"@C:\Users\<my_profile>\AppData\Local\Temp\tmpf3d817cafe064ad28e7dd62b2cb591c3.rsp
". The operation identifier is not valid.
Как я могу заставить Visual Studio 2012 использовать собственный 64-битный компилятор C ++?
Этот ответ немного запоздал на вечеринку, но, к сожалению, по-прежнему нет хорошего ресурса, доступного напрямую из онлайн-документации Microsoft. Оказывается, это легко, даже если не совсем удобно.
В командной строке введите (изменив версию VS в соответствии с вашими потребностями):
> set _IsNativeEnvironment=true
> "C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\devenv.exe" YourProject.sln
Мой проект генерируется CMake, поэтому я обычно в командной строке на несколько строк, прежде чем я могу открыть VS в любом случае. Я всегда запускал свои генераторы CMake после первой настройки среды MSVC, поэтому я, честно говоря, не знаю, требуется ли это или нет, но вы также можете сделать это (прежде всего):
> call "C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\vcvarsall.bat" amd64
и / или
> call "C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\bin\amd64\vcvars64.bat"
Вот ссылка на оригинальный пост на MSDN где я наконец нашел ответ.
Я конвертировал старый проект из Win32 в x64 и столкнулся с этой проблемой.
Я нашел два разных способа, как обойти это:
Способ 1:
я. Должен: Свойства проекта | генеральный | Набор инструментов платформы
II. Измените значение с ‘Visual Studio 2012 (v110)кVisual Studio 2012 — Windows XP (v110_xp)‘
Метод 2:
я. Открыть файл конфигурации %LOCALAPPDATA%\Microsoft\MSBuild\v4.0\Microsoft.Cpp.x64.user.props
II. Внутри <ExecutablePath>
группа недвижимости, я заменил $(WindowsSDK_ExecutablePath_x64)
вход с $(WindowsSDK_ExecutablePath_x86)
После любой из них все работало нормально.