共享库依赖错误路径

共享库依赖错误路径

我使用 clang-12 构建了 clazy 但是 Qt creator 给出了一个错误:

命令“/usr/local/clazy/bin/clazy-standalone --version”以退出代码 127 终止。/usr/local/clazy/bin/clazy-standalone:加载共享库时出错:libclang-cpp.so.12:无法打开共享对象文件:没有此文件或目录

我已将正确的目录添加到.bashrc:

  • 导出 PATH=/usr/local/clang-12/bin:$PATH
  • 导出 LD_LIBRARY_PATH=/usr/local/clang-12/lib:$LD_LIBRARY_PATH

以下是 clazy-standalone 共享对象依赖关系的打印:

    linux-vdso.so.1 (0x00007ffd9ebe0000)
    ClazyPlugin.so => /usr/local/clazy/lib/ClazyPlugin.so (0x00007f06c929d000)
    libclang-cpp.so.12 => /usr/local/clang-12/lib/libclang-cpp.so.12 (0x00007f06c4b2b000)
    librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007f06c4b08000)
    libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f06c4b02000)
    libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f06c4adf000)
    libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f06c4990000)
    libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007f06c4972000)
    libtinfo.so.6 => /lib/x86_64-linux-gnu/libtinfo.so.6 (0x00007f06c4942000)
    libstdc++.so.6 => /lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f06c4761000)
    libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f06c4746000)
    libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f06c4554000)
    /lib64/ld-linux-x86-64.so.2 (0x00007f06c9437000)

以下是 libclang-cpp.so.12 共享对象依赖项的打印:

    linux-vdso.so.1 (0x00007ffee8df9000)
    libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007fbe393b1000)
    librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007fbe393a6000)
    libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fbe393a0000)
    libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007fbe39251000)
    libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007fbe39235000)
    libtinfo.so.6 => /lib/x86_64-linux-gnu/libtinfo.so.6 (0x00007fbe39205000)
    libstdc++.so.6 => /lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007fbe39022000)
    libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007fbe39007000)
    libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fbe38e15000)
    /lib64/ld-linux-x86-64.so.2 (0x00007fbe3db60000)

libcland-cpp.so.12 不是符号链接。

再次强调,@N0rbert 的评论毫无意义。我遇到过其他类似的问题,我怀疑这些问题源于此类问题。Linux 出于某种原因无法找到或使用给定的文件。

我发现了自 2005 年以来有关共享库问题的帖子,所以显然我不是唯一的一个。

有人能最终给出一个关于如何处理此类问题的正确答案吗?这样像我这样的人就不必花几个小时阅读没有答案的帖子了。或者这是 Linux 的一个“功能”?

答案1

是的,好的。所以我给了 Linux 一个机会,这是社区尚未解决的众多问题中的一个根本问题。

如果您编写程序时没有出现错误,但共享库仍然无法运行,并且您已安装了所有必需的软件包。有一个解决方案。安装 Windows,它确实可以工作,您不必在这个可悲的操作系统上浪费时间。

相关内容