如何解决ld 无法在 linux mint 20 上找到 libclang
这里的所有 clang/llvm 新手...
我刚刚在我的 Linux Mint 20 Ulyana(基于 Ubuntu 20.04 Focal Fossa)上安装了 llvm 和 clang,以便将它与 Crystal 语言自动绑定生成工具“crystal_lib”一起使用。
clang 已正确安装:
$ clang --version
clang version 10.0.0-4ubuntu1
Target: x86_64-pc-linux-gnu
Thread model: posix
InstalledDir: /usr/bin
但是 ld(由“crystal_lib”工具的 Makefile 使用)找不到它:
$ make
crystal build src/main.cr
/usr/bin/ld: impossibile trovare -lclang
collect2: error: ld returned 1 exit status
$ ld -lclang --verbose
ld: modalità elf_x86_64
tentativo di aprire /usr/local/lib/x86_64-linux-gnu/libclang.so non riuscito
tentativo di aprire /usr/local/lib/x86_64-linux-gnu/libclang.a non riuscito
tentativo di aprire /lib/x86_64-linux-gnu/libclang.so non riuscito
tentativo di aprire /lib/x86_64-linux-gnu/libclang.a non riuscito
tentativo di aprire /usr/lib/x86_64-linux-gnu/libclang.so non riuscito
tentativo di aprire /usr/lib/x86_64-linux-gnu/libclang.a non riuscito
tentativo di aprire /usr/lib/x86_64-linux-gnu64/libclang.so non riuscito
tentativo di aprire /usr/lib/x86_64-linux-gnu64/libclang.a non riuscito
tentativo di aprire /usr/local/lib64/libclang.so non riuscito
tentativo di aprire /usr/local/lib64/libclang.a non riuscito
tentativo di aprire /lib64/libclang.so non riuscito
tentativo di aprire /lib64/libclang.a non riuscito
tentativo di aprire /usr/lib64/libclang.so non riuscito
tentativo di aprire /usr/lib64/libclang.a non riuscito
tentativo di aprire /usr/local/lib/libclang.so non riuscito
tentativo di aprire /usr/local/lib/libclang.a non riuscito
tentativo di aprire /lib/libclang.so non riuscito
tentativo di aprire /lib/libclang.a non riuscito
tentativo di aprire /usr/lib/libclang.so non riuscito
tentativo di aprire /usr/lib/libclang.a non riuscito
tentativo di aprire /usr/x86_64-linux-gnu/lib64/libclang.so non riuscito
tentativo di aprire /usr/x86_64-linux-gnu/lib64/libclang.a non riuscito
tentativo di aprire /usr/x86_64-linux-gnu/lib/libclang.so non riuscito
tentativo di aprire /usr/x86_64-linux-gnu/lib/libclang.a non riuscito
ld: impossibile trovare -lclang
看起来 ld 无法找到 libclang.so 和/或 libclang.a。
我的 /usr/lib/clang/10.0.0/lib/linux 目录中有完整的 libclang_xxxxxx.o/a/so/syms 文件集合,但不是 ld 看起来的简单“libclang.so”寻找。
/usr/lib/llvm-10/lib/clang/10.0.0/lib/linux $ ls
clang_rt.crtbegin-i386.o libclang_rt.gwp_asan-x86_64.a libclang_rt.scudo_standalone-x86_64.a
clang_rt.crtbegin-x86_64.o libclang_rt.hwasan_cxx-x86_64.a libclang_rt.scudo-x86_64.a
clang_rt.crtend-i386.o libclang_rt.hwasan_cxx-x86_64.a.syms libclang_rt.scudo-x86_64.so
clang_rt.crtend-x86_64.o libclang_rt.hwasan-x86_64.a libclang_rt.stats_client-i386.a
libclang_rt.asan_cxx-i386.a libclang_rt.hwasan-x86_64.a.syms libclang_rt.stats_client-x86_64.a
libclang_rt.asan_cxx-x86_64.a libclang_rt.hwasan-x86_64.so libclang_rt.stats-i386.a
libclang_rt.asan_cxx-x86_64.a.syms libclang_rt.lsan-i386.a libclang_rt.stats-x86_64.a
libclang_rt.asan-i386.a libclang_rt.lsan-x86_64.a libclang_rt.tsan_cxx-x86_64.a
libclang_rt.asan-i386.so libclang_rt.msan_cxx-x86_64.a libclang_rt.tsan_cxx-x86_64.a.syms
libclang_rt.asan-preinit-i386.a libclang_rt.msan_cxx-x86_64.a.syms libclang_rt.tsan-x86_64.a
libclang_rt.asan-preinit-x86_64.a libclang_rt.msan-x86_64.a libclang_rt.tsan-x86_64.a.syms
libclang_rt.asan-x86_64.a libclang_rt.msan-x86_64.a.syms libclang_rt.ubsan_minimal-i386.a
libclang_rt.asan-x86_64.a.syms libclang_rt.profile-i386.a libclang_rt.ubsan_minimal-i386.so
libclang_rt.asan-x86_64.so libclang_rt.profile-x86_64.a libclang_rt.ubsan_minimal-x86_64.a
libclang_rt.builtins-i386.a libclang_rt.safestack-i386.a libclang_rt.ubsan_minimal-x86_64.a.syms
libclang_rt.builtins-x86_64.a libclang_rt.safestack-x86_64.a libclang_rt.ubsan_minimal-x86_64.so
libclang_rt.cfi_diag-i386.a libclang_rt.scudo_cxx-i386.a libclang_rt.ubsan_standalone_cxx-i386.a
libclang_rt.cfi_diag-x86_64.a libclang_rt.scudo_cxx_minimal-i386.a libclang_rt.ubsan_standalone_cxx-x86_64.a
libclang_rt.cfi-i386.a libclang_rt.scudo_cxx_minimal-x86_64.a libclang_rt.ubsan_standalone_cxx-x86_64.a.syms
libclang_rt.cfi-x86_64.a libclang_rt.scudo_cxx-x86_64.a libclang_rt.ubsan_standalone-i386.a
libclang_rt.dd-x86_64.a libclang_rt.scudo-i386.a libclang_rt.ubsan_standalone-i386.so
libclang_rt.dfsan-x86_64.a libclang_rt.scudo-i386.so libclang_rt.ubsan_standalone-x86_64.a
libclang_rt.dfsan-x86_64.a.syms libclang_rt.scudo_minimal-i386.a libclang_rt.ubsan_standalone-x86_64.a.syms
libclang_rt.dyndd-x86_64.so libclang_rt.scudo_minimal-i386.so libclang_rt.ubsan_standalone-x86_64.so
libclang_rt.fuzzer-i386.a libclang_rt.scudo_minimal-x86_64.a libclang_rt.xray-basic-x86_64.a
libclang_rt.fuzzer_no_main-i386.a libclang_rt.scudo_minimal-x86_64.so libclang_rt.xray-fdr-x86_64.a
libclang_rt.fuzzer_no_main-x86_64.a libclang_rt.scudo_standalone_cxx-i386.a libclang_rt.xray-profiling-x86_64.a
libclang_rt.fuzzer-x86_64.a libclang_rt.scudo_standalone_cxx-x86_64.a libclang_rt.xray-x86_64.a
libclang_rt.gwp_asan-i386.a libclang_rt.scudo_standalone-i386.a
如果我知道我必须链接到哪个文件,我会很高兴ln -s libclang.so.1 libclang.so
。
有什么建议吗?有其他人遇到过类似的问题吗?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。