无法构建 clang 插件

发布于 2024-12-28 08:00:38 字数 1023 浏览 0 评论 0原文

我想为 cuda 语言构建一个 clang 源到源翻译器插件。不幸的是,我无法构建 clang 插件本身。我已经尝试了谷歌建议的方法来复制和粘贴 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 插件... 谢谢

I would like to build a clang source to source translator plugin for cuda language.Unfortunately i am not able to build the clang plugin itself.I have tried the method suggested by google to copy and paste the PrintFunctionNames and build the same and the other one suggested by http://getoffmylawnentertainment.com/blog/2011/10/01/clang-plugin-development-tutorial/ website did not work for me.
While building with google method I get:

../../../../Makefile.common:61: ../../../../Makefile.config: No such file or directory ../../../../Makefile.common:69: /Makefile.rules: No such file or directory make: * No rule to make target `/Makefile.rules'. Stop.
This did not work for me How to build clang/examples/PrintFunctionNames?
I am getting this error when built using cmake:

teddy@ubuntu:~/dev-lib/example/build$ make
printer/CMakeFiles/PrintFunctionNames.dir/flags.make:6: * commands commence before first target. Stop.
make[1]: *
[printer/CMakeFiles/PrintFunctionNames.dir/all] Error 2
make: *** [all] Error 2

I am using ubuntu 10.10 and cmake 2.8.1 to build the clang plugin.
Clang Version:3.1
please help me to build the clang plugin...
Thank you

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

深海夜未眠 2025-01-04 08:00:38

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

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

Building programs that link with Clang can be tricky, especially if you want to do it "out of source" - i.e. in your own source tree, not as part of Clang's.

I'm maintaining a Github repo called llvm-clang-samples that provides samples of linking with LLVM and Clang, and has an example Clang plugin. This repository tries to keep up to date with top-of-tree LLVM & Clang and has branches for earlier released versions.

我的奇迹 2025-01-04 08:00:38

出现此错误是因为您已经简单地复制了 CMakeLists.txt 的内容。特别是 LLVM_LIBS 和 CLANG_LIBS 部分。
您所要做的只是在每一行后面加上反斜杠,如下所示

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

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

this error is coming because you have plainly copied the contents of CMakeLists.txt. Particularly the LLVM_LIBS and the CLANG_LIBS part.
What you have to do is simply put backslashed after every line like this

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

Or you can bring all the library names to one single line, whichever suits you.
hope this helps

乱世争霸 2025-01-04 08:00:38

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

First steps are always hard. Created a toy repo on github, which does pin down the build system issues for a clang plugin. Checkout the 'empty' tag.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文