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内部的作用. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |