Укажите версию MSVC для базеля - PullRequest
1 голос
/ 07 марта 2019

Я ищу способ сказать Bazel, какую версию VC ++ он должен использовать. Я уже установил BAZEL_VC=\VS2017Community\VC\ но проблема в том, что в моем каталоге \VS2017Community\VC\Tools\MSVC есть несколько разных компиляторов VC ++. В частности есть следующие версии

14.11.25503
14.13.26020
14.15.26726
14.16.27023

Можно ли заставить bazel использовать конкретную версию? По умолчанию он использует первый (в алфавитном порядке), что для меня неверно.

1 Ответ

0 голосов
/ 10 марта 2019

В настоящее время нет официального способа сделать это. Вот как базальный поиск для компилятора MSVC (из Visual Studio 2017)

# Normally there should be only one child directory under %VC_PATH%\TOOLS\MSVC,
# but iterate every directory to be more robust.
for path in dirs:
    tool_path = str(path) + "\\bin\\HostX64\\x64\\" + tool
    if repository_ctx.path(tool_path).exists:
        break

В основном, он получит первый найденный каталог с cl.exe

Одним из обходных путей может быть просто переименовать / переместить все ненужные вам подкаталоги, оставив необходимый нетронутым. Истинный способ - изменить исходный код и перекомпилировать bazel:)

...