C++ 重写libstdc++;Linux上运行时的搜索路径

C++ 重写libstdc++;Linux上运行时的搜索路径,c++,linux,shared-libraries,ld,dynamic-linking,C++,Linux,Shared Libraries,Ld,Dynamic Linking,我正在尝试为我的游戏Open Hexagon创建一个独立于发行版的.tar.gz存档,它是用最新版本的GCC(4.8.1)编译的,并使用最新版本的libstdc++ 由于它已经使用了很多共享库,我决定将游戏与一起部署。因此它需要的文件,包括正确版本的libstdc++ 我使用LD\u library\u path更改默认库搜索路径。不幸的是,Linux(与Windows不同)总是优先考虑/usr/lib/,即使设置了LD\u LIBRARY\u PATH 是否有任何方法可以在运行时覆盖libst

我正在尝试为我的游戏Open Hexagon创建一个独立于发行版的.tar.gz存档,它是用最新版本的GCC(4.8.1)编译的,并使用最新版本的
libstdc++

由于它已经使用了很多共享库,我决定将游戏与
一起部署。因此
它需要的文件,包括正确版本的
libstdc++

我使用
LD\u library\u path
更改默认库搜索路径。不幸的是,Linux(与Windows不同)总是优先考虑
/usr/lib/
,即使设置了
LD\u LIBRARY\u PATH


是否有任何方法可以在运行时覆盖
libstdc++
的搜索路径?到目前为止,我看到的唯一解决方案是在编译时处理
rpath
runpath
,这是我希望避免的。另一种解决方案是静态链接,但我听说这在Linux中是一种不好的做法,我的游戏也使用了自动更新程序,它只自动更新最新的
。所以
库。

使用“导出LD\u库路径=[我的新路径]:$LD\u库路径”对我很有用。它不会将/usr/lib置于更高的优先级

通过在编译时删除
RPATH
部分解决。但是,在旧发行版上的不同版本的
glibc
仍然存在问题。

我的测试表明
libstdc++
可以在
/usr/lib/
中找到,即使在
LD\u LIBRARY\u path
中设置了自定义路径。也许我做错了什么?当库的一个版本存在于默认文件夹中时,您是否真的成功地找到了另一个版本的
libstdc++
LD\u LIBRARY\u PATH
?Vittorio Romeo您能发布
LD\u LIBRARY\u PATH
内容吗?请您指出linux/usr/lib/上的手册页,它的优先级高于LD\u LIBRARY\u PATH吗