GCC "undefined reference to" 但符号存在
GCC "undefined reference to" but symbols exist
我可以使用由不同版本的 GCC 创建的共享库吗?如何使用?
链接时出现 undefined reference to
错误。但是这些名称存在于 so
库中。我发现库是用较旧的 GCC 版本 (2.8) 构建的,我使用的是当前的 GCC 版本 (4.7),因此名称似乎被不同地破坏了:
由 GCC 构建 2.8.1:
setInfo__10SS7_HeaderUl
由 GCC 构建 4.7.2:
_ZN10SS7_Header7setInfoEm
而且无法解决(对吧?)。
有什么方法可以在不重建的情况下使用旧的共享库吗? (也许我可以使用一些向后兼容性标志等重新编译现有代码,以适应旧库)
Is there any way to use old shared libraries without rebuilding them?
否:gcc-2.x 和 3.x 不兼容 ABI。
如果您设法以某种方式修复了该重整,您只会遇到崩溃,因为对象布局完全不同。修改精确地是为了省去调试运行时崩溃的麻烦,这将是非常难以理解的。
我可以使用由不同版本的 GCC 创建的共享库吗?如何使用?
链接时出现 undefined reference to
错误。但是这些名称存在于 so
库中。我发现库是用较旧的 GCC 版本 (2.8) 构建的,我使用的是当前的 GCC 版本 (4.7),因此名称似乎被不同地破坏了:
由 GCC 构建 2.8.1:
setInfo__10SS7_HeaderUl
由 GCC 构建 4.7.2:
_ZN10SS7_Header7setInfoEm
而且无法解决(对吧?)。
有什么方法可以在不重建的情况下使用旧的共享库吗? (也许我可以使用一些向后兼容性标志等重新编译现有代码,以适应旧库)
Is there any way to use old shared libraries without rebuilding them?
否:gcc-2.x 和 3.x 不兼容 ABI。
如果您设法以某种方式修复了该重整,您只会遇到崩溃,因为对象布局完全不同。修改精确地是为了省去调试运行时崩溃的麻烦,这将是非常难以理解的。