Linux

ldd找不到路徑,如何添加

  • June 8, 2019

我知道這個問題不是很新,但似乎我無法解決我自己的問題。

ldd生成以下輸出

u123@PC-Ubuntu:~$ ldd /home/u123/Programme/TestPr/Debug/TestPr
   linux-vdso.so.1 =>  (0x00007ffcb6d99000)
   libcsfml-window.so.2.2 => not found
   libcsfml-graphics.so.2.2 => not found
   libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fcebb2ed000)
   /lib64/ld-linux-x86-64.so.2 (0x0000560c48984000)

哪個是正確的方法來告訴ld正確的路徑?

如果您的庫不在標準路徑上,那麼您需要將它們添加到路徑或將非標準路徑添加到 LD_LIBRARY_PATH

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:<Your_non-Standard_path>

完成上述任何一項操作後,您需要通過執行以下命令來更新動態連結器執行時綁定:

sudo ldconfig

更新:

您可以通過將上述export行寫入您的啟動文件之一(例如〜/ .bashrc)如果底層庫與任何其他庫不衝突然後放入標準庫路徑之一(例如/lib, /usr/lib)

引用自:https://unix.stackexchange.com/questions/279397