C++ 使用LLVM时出现链接器错误

C++ 使用LLVM时出现链接器错误,c++,compiler-construction,llvm,llvm-ir,llvm-c++-api,C++,Compiler Construction,Llvm,Llvm Ir,Llvm C++ Api,我试图使用LLVM构建编译器后端,但我陷入了链接器错误的泥潭。当前,我尝试执行的所有操作都是包含LLVMContext.h,但这会导致以下链接器错误: $g++-o编译器*.o-L/home/jakob/llvm2/lib/*.a-lantlr4运行时 BayesBaseListener.o:.data.rel+0x0:对“llvm::DisableABIBreakingChecks”的未定义引用 collect2:错误:ld返回了1个退出状态 生成文件:2:目标“编译器”的配方失败 生成:**

我试图使用LLVM构建编译器后端,但我陷入了链接器错误的泥潭。当前,我尝试执行的所有操作都是包含LLVMContext.h,但这会导致以下链接器错误:

$g++-o编译器*.o-L/home/jakob/llvm2/lib/*.a-lantlr4运行时 BayesBaseListener.o:.data.rel+0x0:对“llvm::DisableABIBreakingChecks”的未定义引用 collect2:错误:ld返回了1个退出状态 生成文件:2:目标“编译器”的配方失败 生成:**[编译器]错误1 知道如何正确配置LLVM以避免出现这种情况吗?

选项-L是添加链接器用于搜索库的路径。选项-l小写字母l是告诉链接器链接到特定的库

但对于您的情况,如果要链接特定位置中的所有静态库,只需将库文件列为输入文件:

g++ -o compiler *.o /home/jakob/llvm2/lib/*.a -lantlr4-runtime

请注意,我没有使用-L选项。

好的,谢谢,但现在我遇到了这个错误/usr/bin/ld:/home/jakob/llvm2/lib/libLLVMSupport.aError.cpp.o:通用ELF EM中的重新定位:21/home/jakob/llvm2/lib/libLLVMSupport.a:添加符号时出错:文件格式错误