gpt4 book ai didi

c++ - llvm 5.0 与 llvm::Module::dump() 的链接错误

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:09:26 24 4
gpt4 key购买 nike

在过去的两天里,我一直在尝试将 LLVM 与我的 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

操作系统:ma​​cOS 10.12.5

提前感谢您的帮助

最佳答案

好吧,我研究了 llvm 的代码,你实际上可以更容易地做到这一点。您所要做的就是停止使用转储,而是:

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

这正是 dump 在内部所做的事情。

关于c++ - llvm 5.0 与 llvm::Module::dump() 的链接错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46367910/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com