无法构建clang插件

时间:2012-01-21 06:49:25

标签: plugins makefile cmake clang

我想构建一个clang源来为cuda语言提供翻译插件。不幸的是我无法构建clang插件本身。我已经尝试了谷歌建议的方法来复制和粘贴PrintFunctionNames并构建相同的http://getoffmylawnentertainment.com/blog/2011/10/01/clang-plugin-development-tutorial/网站建议的另一个网站对我不起作用。 使用谷歌方法构建时,我得到:

../../../../ Makefile.common:61:../../../../ Makefile.config:没有这样的文件或目录../../ .. /../Makefile.common:69:/Makefile.rules:没有这样的文件或目录make:*没有规则来制作目标`/Makefile.rules'。停止。 这对我不起作用How to build 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 个答案:

答案 0 :(得分:2)

构建与Clang链接的程序可能很棘手,特别是如果你想“从源头”做到这一点 - 即在你自己的源代码树中,而不是作为Clang的一部分。

我正在维护一个名为llvm-clang-samples的Github仓库,它提供了与LLVM和Clang链接的示例,并有一个示例Clang插件。此存储库尝试与最高级别的LLVM& Clang并为早期发布的版本提供分支。

答案 1 :(得分:0)

此错误即将发生,因为您已明确复制了CMakeLists.txt的内容。特别是LLVM_LIBS和CLANG_LIBS部分。 你需要做的就是在这样的每一行之后简单地反击

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

或者您可以将所有库名称统一到一行,以适合您的方式。 希望这有帮助

答案 2 :(得分:0)

第一步总是很难。在github上创建了一个玩具repo,它确定了一个clang插件的构建系统问题。检查'空'标签。