Ubuntu

載入共享庫 libSDL-1.2 時出錯

  • September 17, 2019

我已經厭倦了編譯 ToME 3 遊戲但我無法執行它,我有:

tome3: error while loading shared libraries: libSDL-1.2.so.0: cannot open shared
object file: No such file or directory

我已經安裝了 libstd1.2 開發包和執行時包。我有那個圖書館

$ ls /usr/lib/x86_64-linux-gnu/libSDL*
/usr/lib/x86_64-linux-gnu/libSDL-1.2.so.0
/usr/lib/x86_64-linux-gnu/libSDL-1.2.so.0.11.4
/usr/lib/x86_64-linux-gnu/libSDL.a
/usr/lib/x86_64-linux-gnu/libSDL_image-1.2.so.0
/usr/lib/x86_64-linux-gnu/libSDL_image-1.2.so.0.8.4
/usr/lib/x86_64-linux-gnu/libSDLmain.a
/usr/lib/x86_64-linux-gnu/libSDL.so

我嘗試放入/usr/lib/x86_64-linux-gnu/PATH 並將 libSDL-1.2.so.0 複製到我擁有遊戲的目錄中,但它不起作用。

有人在 AskUbuntu 上問同樣的問題,解決方案是重新安裝 lib,但它不起作用。

ldd在遊戲的二進製文件 ( ) 上執行t-engine以查看它到底在尋找什麼以及它是否能夠解析。

查看搜尋的路徑以及使用 找到的內容strace -e file t-engine。如果您看到一些路徑正在搜尋 libSDL,但不是您的 libSDL 所在的路徑 ( /usr/lib/x86_64-linux-gnu/),那麼看看您是否能找出原因。

我的猜測是 t-engine 是為 i386(32 位)編譯的,而您的 SDL 庫是為 x86_64(64 位)編譯的。

/etc/ld.so.conf.d/ 中是否有您的庫/庫目錄的條目?

嘗試

ldconfig -vp |grep SDL-1.2

如果你安裝了一個新庫,那麼你應該簡單地刷新

sudo ldconfig -v

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