Llvm cmake add_llvm_loadable_module неизвестно

Я новичок в LLVM. Я скомпилировал llvm, который проверил из svn, и получил ошибку: unknown cmake command add_llvm_loadable_module при использовании cmake для создания make-файла в llvmroot / lib / Transform / Hello / build. Понятия не имею, почему это произошло. Что-то не так при компиляции llvm? В данном случае я скомпилировал llvm с помощью cmake -G "Unix Makefiles" в макросах. Спасибо за вашу помощь.

Вы должны передать корневой каталог LLVM при вызове CMake.

arrowd 27.07.2018 08:31

Спасибо за вашу помощь. Подскажите, как передать корень LLVM? Если он должен передать -DCMAKE_PREFIX_PATH в CMake, я попробовал, но ошибка все равно произошла.

mark 27.07.2018 10:38

Показать полную командную строку, в которой вы работаете. И в каком каталоге.

arrowd 27.07.2018 10:39

Я считаю, что @arrowd относится к LLVM_DIR в вызове командной строки cmake.

compor 27.07.2018 10:41

Может быть, вы имеете в виду, что я должен передать корень LLVM для компиляции LLVM? Да, конечно, но я имею в виду, что получил unknown cmake command add_llvm_loader_module при компиляции примера Hello в lib / Transform.

mark 27.07.2018 10:41

Я запускаю команду cmake .. -DCMAKE_PREFIX_PATH=~/llvm/build в llvm_root / lib / Transform / Hello / build

mark 27.07.2018 10:44

эта ошибка означает, что файлы / модули cmake, которые определяют эту команду, не найдены. почему бы вам не опубликовать полный вызов командной строки, как предлагается @arrowd, чтобы свести к минимуму перемотку в комментариях? пожалуйста, измените вопрос, отредактировав его

compor 27.07.2018 10:44
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
7
1 050
2

Ответы 2

Вы просто перепутали.

Вы должны 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.

mark 27.07.2018 11:41

Вы должны использовать add_llvm_library в CMakeLists.txt

как это:

add_llvm_library(My_Plugin MODULE My_Plugin.cpp PLUGIN_TOOL clang)

Другие вопросы по теме