我正在尝试为我的游戏 Open Hexagon 创建一个独立于发行版的 .tar.gz 存档,该存档使用最新版本的 GCC (4.8.1) 编译并使用最新版本的libstdc++
.
由于它已经使用了很多共享库,我决定将游戏连同.so
它需要的文件一起部署,包括正确版本的libstdc++
.
我使用LD_LIBRARY_PATH
. 不幸的是,Linux(与 Windows 不同)总是优先考虑/usr/lib/
,即使LD_LIBRARY_PATH
已设置。
有没有办法libstdc++
在运行时覆盖搜索路径?到目前为止,我看到的唯一解决方案涉及在编译时弄乱rpath
或弄乱runpath
,这是我想避免的。另一种解决方案是静态链接,但我听说这在 Linux 中是一种不好的做法,而且我还为我的游戏使用了一个自动更新程序,它只自动更新最新的.so
库。