我有一个第三方静态库,该库是用GCC建造的。当我尝试使用XLC AIX编译器链接到该库时,我会得到各种未解决的符号。我相信这是由于名称杂交的差异所致。如果我使用nm命令将被管理的名称从图书馆中拿出来,那么使用XLC编译器构建二进制文件根本上是错误的,只要它可以找到所需的符号吗?我要什么麻烦?

有帮助吗?

解决方案

这很可能不起作用;看到 C ++常见问题解答 关于这个问题。

C ++比C复杂得多,而且还有很多其他可能不兼容的东西。

对于一些例子,例外处理是否兼容?数据对象是否以相同的方式列出(在C中,列出的顺序如列出,但在C ++中可以随访问说明符而变化)吗? VTABLES是否可以工作?怎么 dynamic_cast 处理?

名称混战的差异使您无法链接,但是还有许多其他差异可以咬您。

您最好使用他们所做的GCC版本。这就是我在一个类似项目中必须做的。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top