【发布时间】:2011-05-08 20:59:19
【问题描述】:
我有一个跨平台的应用程序(游戏)。它使用 SDL 库。由于 LGPL 许可证,我无法静态链接它。在 Windows 上我捆绑 DLL 文件,在 Mac OSX 上我捆绑 Frameworks 目录。但是如何在 GNU/Linux 上解决呢?如果用户的系统上没有安装 SDL 库,则会出现错误:
加载共享库时出错:libSDL-1.2.so.0:无法打开共享对象文件:没有这样的文件或目录
即使我捆绑了 .so 文件,系统似乎也没有使用它。
另一个问题是我不想强行覆盖用户库。 SDL 不是问题,但例如 OpenAL 库差异很大,用户可以使用可用的 OpenAL 库,而我的可能会在他的机器上崩溃。
【问题讨论】:
-
您将
.so文件放在哪里?只有在搜索路径中,系统才会找到它们。 -
与可执行文件在同一目录中。我不想在系统路径中安装任何东西,因为我不想要求 root 访问权限。