【问题标题】:Cannot Build clang Plugin无法构建 clang 插件
【发布时间】:2012-01-21 06:49:25
【问题描述】:

我想为 cuda 语言构建一个 clang 源到源转换器插件。不幸的是,我无法构建 clang 插件本身。我尝试了 google 建议的方法来复制和粘贴 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 打印机/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插件... 谢谢

【问题讨论】:

    标签: plugins makefile cmake clang


    【解决方案1】:

    构建与 Clang 链接的程序可能会很棘手,尤其是如果您想“在源代码之外”执行它 - 即在您自己的源代码树中,而不是作为 Clang 的一部分。

    我正在维护一个名为 llvm-clang-samples 的 Github 存储库,它提供了与 LLVM 和 Clang 的链接示例,并且有一个示例 Clang 插件。此存储库尝试与树顶 LLVM 和 Clang 保持同步,并为早期发布的版本提供分支。

    【讨论】:

      【解决方案2】:

      出现此错误是因为您明确复制了 CMakeLists.txt 的内容。特别是 LLVM_LIBS 和 CLANG_LIBS 部分。 你所要做的就是像这样在每一行后面加上反斜杠

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

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

      【讨论】:

        【解决方案3】:

        第一步总是艰难的。在 github 上创建了一个玩具 repo,它确实确定了 clang 插件的构建系统问题。签出“空”标签。

        【讨论】:

        • 回购已不存在。
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2020-08-17
        • 1970-01-01
        • 1970-01-01
        • 2020-06-06
        • 2019-07-02
        • 2021-09-01
        • 1970-01-01
        相关资源
        最近更新 更多