Как переопределить расположение CL.exe с MSBuild - PullRequest
0 голосов
/ 12 марта 2019

Попытка скомпилировать glew на Windows 10 .

Сначала я запускаю cmake . из powershell в каталог проекта.

Этоговорит мне следующее:

- Сборка для: Visual Studio 15 2017

- Идентификатор компилятора C - MSVC 19.15.26729.0

- Идентификатор компилятора CXX - MSVC 19.15.26729.0

- проверка работоспособного компилятора C: C: / Program Files (x86) / Microsoft Visual Studio / 2017 / Community / VC / Tools / MSVC / 14.15.26 /bin/Hostx86/x86/cl.exe

- Проверка работающего компилятора C: C: / Program Files (x86) / Microsoft Visual Studio / 2017 / Community / VC / Tools / MSVC / 14.15.26 /bin/Hostx86/x86/cl.exe- работает

Теперь мне нужно собрать файл libglew_shared.vcxproj с MSBuild.exe.Вот командная строка, которую я использую в PowerShell:

PS C:\...\external\glew> & \
    'C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\MSBuild\15.0\Bin\MSBuild.exe' \
    .\libglew_shared.vcxproj \
    /p:VCTargetsPath='C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\VC\VCTargets'

Я могу увидеть выполненную командную строку в `` MSBuild` log output:

ClCompile:
  CL.exe /c /IC:...\external\glew\include /W3 (...more compilation flags) C:\...\external\glew\src\glew.c

Но сразу после этого, здесь приходитследующая ошибка, которая указывает, что MSBuild не может найти cl.exe:

TRACKER: ошибка TRK0005: Не удалось найти: "CL.exe"

Любой способ указать cl.exe location?

Я вижу, что CL.exe путь C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/Tools/MSVC/14.15.26 /bin/Hostx86/x86/cl.exe, предоставляемый cmake output

и MSBuild.exe path C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\MSBuild\15.0\Bin\MSBuild.exe

, не имеютТо же место.

Это причина проблемы?

Редактировать

После обсуждения я обнаружил vcvarsall.bat скрипт, который готовит среду для VC.

Он расположен в C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvarsall.bat.

Но после выполнения, когда я запускаю ($env:path).split(“;”), ничего не изменилось.

Редактировать 2

Попытался передать опцию /p:VCBuildToolPath='C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.15.26726\bin\Hostx64\x64\cl.exe' на MSBuild.exe.Пробовал с -p вместо /p

Но это ничего не изменило ...

Пробовал set CL='C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.15.26726\bin\Hostx64\x64\cl.exe' с включением в оболочку питания.

Но этоничего не изменилось ...

Не могу найти ответ в Ссылка командной строки MSBuild ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...