Linux 警告:共享库列表已损坏

Linux 警告:共享库列表已损坏,linux,gcc,g++,shared-libraries,Linux,Gcc,G++,Shared Libraries,在linux下,使用gdb调试我的程序时,会出现以下消息: warning: Corrupted shared library list: 0x639130 != 0x7ffff7fd9598 在我的程序中,我通过dlopen()加载了几个.so文件。调用dlopen()后,将显示消息 然后,当我加载next.so时,消息再次出现,但这次使用不同的地址: warning: Corrupted shared library list: 0x63c9e0 != 0x639130 我在互联网上查找

在linux下,使用gdb调试我的程序时,会出现以下消息:

warning: Corrupted shared library list: 0x639130 != 0x7ffff7fd9598
在我的程序中,我通过dlopen()加载了几个.so文件。调用dlopen()后,将显示消息

然后,当我加载next.so时,消息再次出现,但这次使用不同的地址:

warning: Corrupted shared library list: 0x63c9e0 != 0x639130
我在互联网上查找了有关此消息的参考资料,但没有找到任何内容。有一些关于损坏的共享库的参考,但没有关于损坏的共享库列表的参考

有人知道这可能是什么原因吗

我正在运行Ubuntu AMD64,并使用g++命令行选项以64位编译:

-std=c++11 -fPIC

当程序加载的共享库dlopen()中有一个库也有代码dlopen()以前已加载的库时,似乎会发生这种情况。

您需要创建一个可复制的示例。我不能。只有当我使用自己的库和可执行文件时,问题才会出现。我试着创建一个非常简单的可执行文件,加载另一个非常简单的文件。所以警告没有出现。也许是这样?我认为这是来自Qt代码。