#cmake #llvm
#cmake #llvm
Вопрос:
Я хочу настроить отладчик для кода Visual Studio, поэтому я попытался создать среду LLVM, чтобы иметь LLDB на моем компьютере. Но сборка завершается ошибкой со следующим выводом:
CMake Warning at cmake/modules/GetHostTriple.cmake:28 (message):
unable to determine host target triple
Call Stack (most recent call first):
cmake/config-ix.cmake:401 (get_host_triple)
CMakeLists.txt:670 (include)
CMake Error at cmake/config-ix.cmake:409 (string):
string sub-command REGEX, mode MATCH needs at least 5 arguments total to
command.
Call Stack (most recent call first):
CMakeLists.txt:670 (include)
CMake Error at cmake/config-ix.cmake:453 (message):
Unknown architecture host
Call Stack (most recent call first):
CMakeLists.txt:670 (include)
Я использую clang v11.0.1, CMake v3.18.0-rc4 и Ninja v1.10.2.
Комментарии:
1. Также вижу эту ошибку. Вы нашли решение?
2. @Nate, к сожалению, нет
Ответ №1:
У меня была такая же проблема, и я исправил ее, добавив эту строку вручную в качестве опции сборки:
-DLLVM_HOST_TRIPLE=x86_64
Комментарии:
1. Где вы это добавили?
2.@user162988 При сборке из исходного кода вы можете добавить этот флаг, как и другие параметры, например:
cmake -G "Visual Studio 16 2019" -Thost=x64 -DLLVM_ENABLE_PROJECTS=clang -DLLVM_TARGETS_TO_BUILD=all
-DLLVM_HOST_TRIPLE=x86_64
../llvm
Итак, здесь вы можете использоватьNinja
after-G
flag в качестве генератора, как задано в вопросе, и вы также можете использовать другие-D
флаги для настройки проекта в любом случае, как вам нравится.3. Это можно сделать в вашем только что созданном
build
каталоге с помощью окна командной строки, а затемcmake --build .
создать все это в соответствии с вашими конфигурациями. Пожалуйста, посмотрите, как собрать llvm подробно, потому что я только что привел пример, который я еще не пробовал, поэтому при сборке может возникнуть много других ошибок, поэтому вам может потребоваться изменить или добавить некоторые флаги. Итак, ответ на ваш вопрос заключается в том, что я добавил этот флаг в свои конфигурации cmake, как в примере, который я привел, и проблема была решена для меня в то время.