使用 LLVM 时出现链接器错误

Linker errors when using LLVM

本文关键字:链接 错误 LLVM 使用      更新时间:2023-10-16

我正在尝试使用 LLVM 来构建编译器后端,但我陷入了链接器错误。目前我尝试做的只是包含LLVMContext.h(我正在做IBM教程(,但这给了我以下链接器错误:

$ g++ -o compiler *.o -L/home/jakob/llvm2/lib/*.a -lantlr4-runtime
BayesBaseListener.o:(.data.rel+0x0): undefined reference to `llvm::DisableABIBreakingChecks'
collect2: error: ld returned 1 exit status
Makefile:2: recipe for target 'compiler' failed
make: *** [compiler] Error 1

知道如何正确配置 LLVM 以免发生这种情况吗?

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

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

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

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