将由gcc构建的静态c ++库与由xlC编译的程序相链接?

时间:2010-11-10 20:30:07

标签: gcc static-libraries xlc

我有一个使用gcc在AIX上构建的第三方静态库。当我尝试使用xlC AIX编译器链接到该库时,我得到各种未解析的符号。我认为这是由于名称差异造成的差异。如果我使用nm命令从库中获取manged名称,那么使用xlC编译器构建二进制文件有什么根本性的错误,前提是它可以找到它正在寻找的符号吗?我要求什么麻烦?

1 个答案:

答案 0 :(得分:3)

这很可能无效;请参阅C++ Faq Lite有关此问题的问题。

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

举几个例子,异常处理是否兼容?数据对象是否以相同的方式布局(在C中,顺序如列出的那样,但在C ++中它可以随访问说明符而变化)? vtable的工作方式是否相同?如何处理dynamic_cast

名称修改的不同之处在于阻止您进行链接,但还有许多其他差异可能会让您感到厌烦。

你可能最好使用他们所做的gcc版本。这就是我曾经在类似项目中做过的事情。

相关问题