Невозможно построить плагин clang - PullRequest
2 голосов
/ 21 января 2012

Я хотел бы создать плагин переводчика clang для исходного кода для языка cuda. ​​К сожалению, я не могу сам создать плагин clang. Я попробовал метод, предложенный Google, для копирования и вставки PrintFunctionNames и сборки того же самого идругой, предложенный http://getoffmylawnentertainment.com/blog/2011/10/01/clang-plugin-development-tutorial/ сайтом, не работал для меня.При сборке с помощью метода Google я получаю:

.. / .. / .. / .. / Makefile.common: 61: ../../../../Makefile.config: Нет такогофайл или каталог ../../../../Makefile.common:69: /Makefile.rules: Нет такого файла или каталога. make: * Нет правила для создания цели `/Makefile.rules '.Стоп.Это не сработало для меня Как собрать clang / examples / PrintFunctionNames? Я получаю эту ошибку при сборке с использованием cmake:

teddy @ ubuntu: ~ / dev-lib / example / build$ make printer / CMakeFiles / PrintFunctionNames.dir / flags.make: 6: * команды начинаются до первой цели.Стоп.make [1]: * [printer / CMakeFiles / PrintFunctionNames.dir / all] Ошибка 2 make: *** [all] Ошибка 2

Я использую Ubuntu 10.10 и cmake 2.8.1 для сборкиплагин лязгВерсия Clang: 3.1, пожалуйста, помогите мне создать плагин clang ... Спасибо

Ответы [ 3 ]

2 голосов
/ 14 января 2014

Создание программ, которые связаны с Clang, может быть сложным, особенно если вы хотите сделать это «из исходного кода» - то есть в вашем собственном дереве исходников, а не в составе Clang.

Я поддерживаюGithub repo называется llvm-clang-samples , который предоставляет образцы связывания с LLVM и Clang, и имеет пример плагина Clang.Этот репозиторий пытается быть в курсе новейших версий LLVM & Clang и имеет ветки для ранее выпущенных версий.

0 голосов
/ 09 мая 2012

Первые шаги всегда трудны.Создал игрушку repo на github, которая действительно определяет проблемы системы сборки для плагина clangОформить заказ на пустой тег.

0 голосов
/ 23 февраля 2012

эта ошибка появляется, потому что вы явно скопировали содержимое CMakeLists.txt.Особенно LLVM_LIBS и часть CLANG_LIBS.Что вам нужно сделать, это просто поставить обратную косую черту после каждой строки, как эта

set( CLANG_LIBS \
libclang    \
clangFrontend  \
..  \
...
)

Или вы можете привести все имена библиотек в одну строку, в зависимости от того, что вам подходит.надеюсь, это поможет

...