Я новичок в LLVM. Я скомпилировал llvm, который проверил из svn, и получил ошибку: unknown cmake command add_llvm_loadable_module при использовании cmake для создания make-файла в llvmroot / lib / Transform / Hello / build. Понятия не имею, почему это произошло. Что-то не так при компиляции llvm? В данном случае я скомпилировал llvm с помощью cmake -G "Unix Makefiles" в макросах. Спасибо за вашу помощь.
Спасибо за вашу помощь. Подскажите, как передать корень LLVM? Если он должен передать -DCMAKE_PREFIX_PATH в CMake, я попробовал, но ошибка все равно произошла.
Показать полную командную строку, в которой вы работаете. И в каком каталоге.
Я считаю, что @arrowd относится к LLVM_DIR в вызове командной строки cmake.
Может быть, вы имеете в виду, что я должен передать корень LLVM для компиляции LLVM? Да, конечно, но я имею в виду, что получил unknown cmake command add_llvm_loader_module при компиляции примера Hello в lib / Transform.
Я запускаю команду cmake .. -DCMAKE_PREFIX_PATH=~/llvm/build в llvm_root / lib / Transform / Hello / build
эта ошибка означает, что файлы / модули cmake, которые определяют эту команду, не найдены. почему бы вам не опубликовать полный вызов командной строки, как предлагается @arrowd, чтобы свести к минимуму перемотку в комментариях? пожалуйста, измените вопрос, отредактировав его





Вы просто перепутали.
Вы должны cd в ~/llvm/build и запустить cmake ~/llvm или cmake ... И -DCMAKE_PREFIX_PATH в этом случае совсем не нужен.
Эта команда просто сгенерирует для вас файлы сборки. Теперь, если вы хотите построить только этот проход Hello вместо всего LLVM, запустите make help | grep Hello, чтобы узнать, как вызывается соответствующая цель, а затем make <target>.
Спасибо за ответ, но моя проблема не в компиляции LLVM. Компиляция LLVM прошла успешно, но я получил «Неизвестную команду Cmake 'add_llvm_loadable_module'» при запуске команды cmake .. в пути «lib / Transform / Hello». А это пример Pass на LLVM.
Вы должны использовать add_llvm_library в CMakeLists.txt
как это:
add_llvm_library(My_Plugin MODULE My_Plugin.cpp PLUGIN_TOOL clang)
Вы должны передать корневой каталог LLVM при вызове CMake.