Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ LLVM:如何指定所有链接库作为LLVM_映射_组件_到_libnames()的输入_C++_Cmake_Llvm - Fatal编程技术网

C++ LLVM:如何指定所有链接库作为LLVM_映射_组件_到_libnames()的输入

C++ LLVM:如何指定所有链接库作为LLVM_映射_组件_到_libnames()的输入,c++,cmake,llvm,C++,Cmake,Llvm,我需要一个附加的库作为链接器输入,因为链接器找不到符号 llvm_map_components_to_libnames(llvm_libs support core bitreader) target_link_libraries(SkeletonPass ${llvm_libs}) 组件中必须缺少缺少的库 如何将所有组件指定为输入?首先,尽管它已经过时,但我建议您阅读以下内容 这本书读得很好。建议也在其中查找llvm config LLVM附带了一个工具, 这对您的情况有帮助。 第二,我

我需要一个附加的库作为链接器输入,因为链接器找不到符号

llvm_map_components_to_libnames(llvm_libs support core bitreader)

target_link_libraries(SkeletonPass ${llvm_libs})
组件中必须缺少缺少的库


如何将所有组件指定为输入?

首先,尽管它已经过时,但我建议您阅读以下内容
这本书读得很好。建议也在其中查找
llvm config

LLVM附带了一个工具, 这对您的情况有帮助。
第二,我热烈建议您查看以下内容,以便发布

也提到了这个工具。
查看我链接的文档,以下是概要:

llvm-config option [components...] 
如果未指定
组件
,则其默认值为
all
,根据文档:

包括所有LLVM库。如果未指定任何组件,则为默认值

我将明确添加
所有
,在您的案例中可以省略这些内容

llvm配置--所有组件

打印所有有效的组件名称

llvm配置--libs all

打印链接指定LLVM组件所需的所有库,包括任何依赖项

有关更多选项和信息,请查看
llvm配置--help


因此,要回答您的问题,您可以使用上述命令打印所有组件,并将它们放入
llvm\u map\u components\u to_libnames()

要列出所有组件,请尝试运行此命令:

llvm-config --components
对我来说,输出是

aarch64 aarch64asmparser aarch64codegen aarch64desc aarch64disassembler aarch64info aarch64utils aggressiveinstcombine all all-targets amdgpu amdgpuasmparser amdgpucodegen amdgpudesc amdgpudisassembler amdgpuinfo a
mdgpuutils analysis arm armasmparser armcodegen armdesc armdisassembler arminfo armutils asmparser asmprinter avr avrasmparser avrcodegen avrdesc avrdisassembler avrinfo binaryformat bitreader bitstreamreader bitwr
iter bpf bpfasmparser bpfcodegen bpfdesc bpfdisassembler bpfinfo cfguard codegen core coroutines coverage debuginfocodeview debuginfodwarf debuginfogsym debuginfomsf debuginfopdb demangle dlltooldriver dwarflinker
engine executionengine frontendopenmp fuzzmutate globalisel hexagon hexagonasmparser hexagoncodegen hexagondesc hexagondisassembler hexagoninfo instcombine instrumentation interpreter ipo irreader jitlink lanai lan
aiasmparser lanaicodegen lanaidesc lanaidisassembler lanaiinfo libdriver lineeditor linker lto mc mca mcdisassembler mcjit mcparser mips mipsasmparser mipscodegen mipsdesc mipsdisassembler mipsinfo mirparser msp430
 msp430asmparser msp430codegen msp430desc msp430disassembler msp430info native nativecodegen nvptx nvptxcodegen nvptxdesc nvptxinfo objcarcopts object objectyaml option orcerror orcjit passes powerpc powerpcasmpars
er powerpccodegen powerpcdesc powerpcdisassembler powerpcinfo profiledata remarks riscv riscvasmparser riscvcodegen riscvdesc riscvdisassembler riscvinfo riscvutils runtimedyld scalaropts selectiondag sparc sparcas
mparser sparccodegen sparcdesc sparcdisassembler sparcinfo support symbolize systemz systemzasmparser systemzcodegen systemzdesc systemzdisassembler systemzinfo tablegen target textapi transformutils vectorize weba
ssembly webassemblyasmparser webassemblycodegen webassemblydesc webassemblydisassembler webassemblyinfo windowsmanifest x86 x86asmparser x86codegen x86desc x86disassembler x86info x86utils xcore xcorecodegen xcored
esc xcoredisassembler xcoreinfo xray

您没有发布任何错误,因此我们无法看到您缺少的组件。您可以查看SO帖子中的链接和相关链接。谢谢,我的问题是:在哪里可以看到组件和LLVM库之间的映射?另外,假设我发现我需要解析某个符号,并且我知道它是在某个头文件中定义的。如何查看哪个库包含此标题?谢谢!我试图为VisualStudio生成一个项目,所以我不能在命令行上使用clang和llvm config进行编译。生成一个解决了所有依赖关系的项目的规范方法是什么?是否只包括所有组件?