У меня есть проект C ++, который я создал в VS 2010, и сейчас я запускаю его в 2012 году, но я все еще хочу использовать компилятор 2010 года. Все мои другие проекты в том же решении хороши, но по какой-то причине этот один файл NMake собирается в Microsoft Visual Studio 11.0 для MSBuild.exe вместо Microsoft Visual Studio 10.0, как это и должно быть. Кто-нибудь знает, как это изменить?
Обычно я просто открываю vcxproj и захожу в набор platformtool и меняю его с 11 на 10, но мой файл NMake этого не позволяет.
Я думаю, что проблема здесь —
ClCompile:
c:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\BIN\CL.exe /c...
так должно быть
c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\BIN\CL.exe /c...
Но я не могу понять, что мне нужно изменить, чтобы это исправить.
Я также получаю эту ошибку, которая, как я полагаю, вызвана этой проблемой.
C: \ Program Files (x86) \ MSBuild \ Microsoft.Cpp \ v4.0 \ V110 \ Microsoft.MakeFile.Targets (38,5): ошибка MSB3073: команда "call build_qt.bat win32" завершена с кодом 1.
Я уверен, что есть простой способ сделать это, но я действительно не могу понять это.
Какие-либо предложения?
Я не уверен, поможет ли это вашей проблеме, но для того, чтобы исправить мою проблему, как описано в этом сообщении в блоге: http://blogs.msdn.com/b/vcblog/archive/2012/06/15/10320645.aspx
Я изменил мой .pri / .pro файл, чтобы включить эти значения
win32 {
QMAKE_LFLAGS += /SUBSYSTEM:CONSOLE,5.01
QMAKE_CXX += /D_USING_V110_SDK71_
LIBS *= -L"%ProgramFiles(x86)%/Microsoft SDKs/Windows/7.1A/Lib"
INCLUDEPATH += "%ProgramFiles(x86)%/Microsoft SDKs/Windows/7.1A/Include"}
Я также перекомпилировал Qt 5.0, используя эти флаги, просто чтобы быть в безопасности (хотя я не думаю, что это было необходимо.
Других решений пока нет …