我过去两天一直在尝试将LLVM与我的C++项目链接,终于成功了,但问题是当我使用
我已经链接了所有模块:
dump()
方法时,会出现链接器错误。我认为问题出在我所链接的库中,所以我已经将可执行文件链接到了所有LLVM库(模块),但并没有成功。所以这是LLVM5.0代码库中的一个bug还是我做错了什么?我特别提到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
操作系统:macOS 10.12.5
提前感谢您的任何帮助。