我如何查看哪个 LLVM 库必须 link 来解析 PassManagerBuilder::addGlobalExtension()?

How do I see which LLVM library have to link with to resolve PassManagerBuilder::addGlobalExtension()?

如何查看必须 link 使用哪个 LLVM 库来解析 PassManagerBuilder::addGlobalExtension()?

我已经在 CMakeLists.txt 中添加了 llvm_map_components_to_libnames(llvm_libs support core irreader)

但是,对于上面的符号,我仍然得到 link 错误。

一般来说,如何查找我需要包含哪些库来解析某些符号?

方法 PassManagerBuilder::addGlobalExtension() 在中声明和定义 include/llvm/Transforms/IPO/PassManagerBuilder.h 和 lib/Transforms/IPO/PassManagerBuilder.cpp 分别。将其保存在库 libLLVMipo.a 中,因此您需要将字符串 ipo 添加到 llvm_map_components_to_libnames:

llvm_map_components_to_libnames(llvm_libs ipo ...)