加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c – llvm 5.0链接错误与llvm :: Module :: dump()

发布时间:2020-12-16 10:14:19 所属栏目:百科 来源:网络整理
导读:我试图在过去的两天里将LLVM与My C项目联系起来并且它终于正常工作但问题是当我使用dump()方法时它会给出链接器错误我认为问题出在我正在链接的库中,所以我将我的可执行文件链接到所有LLVM库(模块)但没有成功.所以这是LLVM5.0代码库中的一个错误,或者我做错
我试图在过去的两天里将LLVM与My C项目联系起来并且它终于正常工作但问题是当我使用dump()方法时它会给出链接器错误我认为问题出在我正在链接的库中,所以我将我的可执行文件链接到所有LLVM库(模块)但没有成功.所以这是LLVM5.0代码库中的一个错误,或者我做错了什么,以及我特别谈到LLVM5.0的原因,因为我已经读到评论部分中的其他位置( LLVM-5.0 Makefile undefined reference fail)没有编译问题使用LLVM4.0的相同代码,当然我已经搜索了其他解决方案,但没有什么

llvm_test.cpp:

#include "llvm/IR/LLVMContext.h"
#include "llvm/IR/Module.h"

llvm::LLVMContext context;

int main(){
    llvm::Module*module = new llvm::Module("llvm-module",context);
    module->dump();
}

命令:

clang++ -O3  -Wall -std=c++11 `llvm-config --cppflags --ldflags` `llvm-config --libs core --system-libs` toy.cpp

而且我已经链接了所有模块:

clang++ -O3 -Wall -std=c++11 `llvm-config --cxxflags --ldflags` `llvm-config --libs all --system-libs` toy.cpp

编译器:Apple Clang 8.0.0 x86_64

操作系统:mac OS 10.12.5

谢谢你提前帮助

解决方法

好的,我查看了llvm的代码,你实际上可以做得更容易.您所要做的就是停止使用dump而是:

module->print(llvm::errs(),nullptr);

这正是dump内部的作用.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读