我使用LLVM使用parseInputIR(inputIR)函数读取IR文件;编译它们并执行它们,类似于llvm的万花筒示例中所做的工作。但是,当这样做时,我会得到错误,它会抱怨omp_get_num_procs不知道以下内容
clang/bin/Kaleidoscope-Orc-fully_lazy_with_recompile_try prime_toy/main.bc prime_toy/prime_number.bc . be LLVM错误:程序使用外部函数'omp_get_num_procs‘,无法解决!
其中一个IR文件包含omp指令,因此必须链接到omp库。我应该使用dlsym在llvm中添加这种支持。
我的问题是关于libgomp版本--我想我需要使用llvm (http://openmp.llvm.org/)中的openmp库,但是我没有在其中看到omp_get_num_procs (只有那些后缀),我想知道为什么。
nm llvm_openmp/openmp/runtime/build/runtime/src/libgomp.so | grep omp_get_num_procs
0000000000067369 t __kmp_api_omp_get_num_procs
0000000000068180 t __kmp_api_omp_get_num_procs_
0000000000067369 t __kmp_api_omp_get_num_procs_10_alias
0000000000068180 t __kmp_api_omp_get_num_procs__10_alias
0000000000067369 T omp_get_num_procs@@VERSION
0000000000067369 T omp_get_num_procs@OMP_1.0
0000000000068180 T omp_get_num_procs_@@VERSION
0000000000068180 T omp_get_num_procs_@OMP_1.0发布于 2015-11-20 01:18:36
您所看到的后缀(以“@”开头)用于ELF符号版本控制( https://sourceware.org/binutils/docs/ld/VERSION.html ),这很可能您不需要特别关心,这样您就可以在精神上“去掉它们”。
https://stackoverflow.com/questions/33806676
复制相似问题