c++ - devIL .so 在 ubuntu 上我把它们放在哪里 - 运行时错误

标签 c++ linux devil

我目前正在将我的游戏从 Windows 移植到 Linux。 Debian(home) 和 Fedora(uni)。它构建良好,但在运行时预期 加载共享库时出错:libIL.so.1

首先,.1 是什么意思?我尝试在可执行文件旁边放置 libIL.so 和 .1,但仍然出现相同的错误。我该怎么办? - 请记住,我在 Fedora 机器上没有 root 访问权限。

最佳答案

libIL.so 放入与您的可执行文件 mygame 相同的目录中,然后为您的游戏创建一个启动脚本,比如 mygame.sh:

#!/bin/sh
LD_PRELOAD=. ./mygame

现在您可以使用 ./mygame.sh 从命令行开始您的游戏。


编辑:我上面的实际意思是 LD_LIBRARY_PATH 而不是 LD_PRELOAD。将所有库与可执行文件放在一起并使用 LD_LIBRARY_PATH=. ,然后库加载程序将在当前文件夹中查找它需要的所有库。

关于c++ - devIL .so 在 ubuntu 上我把它们放在哪里 - 运行时错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14739967/

相关文章:

c++ - 在多线程应用程序中使用 ptrace

c++ - C++ 中的 DevIL 和 OpenGL

没有常量表达式的 C++ 数组大小

c++ - 为什么输出的每一行之前都有不必要的空格?

c++ - 游戏代码架构源

c++ - boost 的虚拟析构函数 :noncopyable classes?

c++ - 我怎样才能完全理解操作系统的工作原理?

c++ - 通过电线登录?

c++ - DevIL 库文件和依赖项

c++ - DevIL/OpenIL 未加载 alpha channel