我在使用名为 libsdl 的共享库时遇到了问题。我实际上想做的是启动一个名为 GCCG(通用收藏卡牌游戏)的游戏引擎。引擎所需的所有软件包都已安装,但是当我运行命令时,./Mtg
它给出了以下内容:
./ccg_client:加载共享库时出错:libSDL-1.2.so.0:无法打开共享对象文件:没有此文件或目录
从错误消息中可以清楚地看出,libSDL 库要么未安装,要么无法访问/位置错误。在检查我的软件包后,dpkg --get-selections | grep libsdl
我发现所有 libSDL 软件包都已安装...因此,为了确保万无一失,我使用了sudo apt-get purge
所有 libSDL 软件包,并对所有 libSDL 软件包进行了全新安装,但结果仍然相同。
此外,当我使用 来apt-file search libSDL-1.2.so.0
定位所谓的“丢失的库”时,我得到了以下结果:
libsdl1.2debian:/usr/lib/x86_64-linux-gnu/libSDL-1.2.so.0
libsdl1.2debian:/usr/lib/x86_64-linux-gnu/libSDL-1.2.so.0.11.3
所以,正如我所想的,它们在那里......但它们没有被共享?
答案1
这是 32 位还是 64 位二进制文件?(您可以使用文件 ./Mtg 进行检查)。
如果这是一个 32 位二进制文件,那么您需要 32 位版本的 libSDL,因为您似乎正在运行 x86_64。
答案2
我需要所有这些库:
sudo apt-get install libsdl1.2debian:i386
sudo apt-get install libsdl-net1.2:i386
sudo apt-get install libsdl-image1.2:i386
sudo apt-get install libjpeg62:i386
sudo apt-get install libsdl-ttf2.0-0:i386
sudo apt-get install libsdl-mixer1.2:i386