Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我目前正在将我的游戏从 Windows 移植到 Linux。Debian(home) 和 Fedora(uni)。它构建得很好,但是在运行时是预期的 error while loading shared libraries: libIL.so.1。
error while loading shared libraries: libIL.so.1
首先 .1 到底是什么?我尝试使用将 libIL.so 和 .1 放在可执行文件旁边,但仍然有相同的错误。我该怎么办?- 请记住,我在 Fedora 机器上没有 root 访问权限。
放入libIL.so与您的可执行文件相同的目录mygame,然后为您的游戏创建一个启动脚本,例如mygame.sh:
libIL.so
mygame
mygame.sh
#!/bin/sh LD_PRELOAD=. ./mygame
现在您可以从命令行使用./mygame.sh.
./mygame.sh
编辑:我上面的实际意思是LD_LIBRARY_PATH而不是LD_PRELOAD. 将所有库与可执行文件放在一起并使用LD_LIBRARY_PATH=.,然后库加载器将在当前文件夹中查找它需要的所有库。
LD_LIBRARY_PATH
LD_PRELOAD
LD_LIBRARY_PATH=.