我有一个使用 g++ 2.96 版构建的库文件。该库的源代码不可用,也没有原始开发人员的支持。
我想使用最新的 g++ 版本(比如 4.x)将它与我的应用程序链接起来。据我了解,自 gcc veriosn 3.3 起,名称修饰方案已更改。这就是新链接器无法识别旧 lib 文件中的符号的原因。
我在网上做了一些研究,研究了 objcopy、objdump、c++filt 和 nm 等工具,并试图手动查找和解开 lib 文件中的符号,但无济于事。
那么,有没有办法(或工具)将我的旧二进制 lib 文件转换为新的名称修改方案,以便我可以使用更新的编译器链接它?