首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

AIX ld链接器的有关问题

2012-03-09 
AIX ld链接器的问题在AIX平台上编译C++源代码,发现在链接生成二进制文件时不同于其他平台,在HP-UX平台上可

AIX ld链接器的问题
在AIX平台上编译C++源代码,发现在链接生成二进制文件时不同于其他平台,在HP-UX平台上可以编译链接成功的源代码文件和Makefile,在AIX上编译链接时,最后链接会报一些“ld: 0711-317 ERROR: Undefined symbol”的错误。我们的系统需要移植到AIX上来,报大量的此类链接错误,错误信息中提到的没定义的symbol(函数或变量)其实定义在其他的库中,只要在Makefile中指定链接该库,就可以解决问题。


我的问题是:同样的源代码和Makefile在HP-UX和Linux平台上是可以编译链接成功的。 应该是HP-UX和Linux平台上的ld支持间接链接,比如说,一个二进制文件A依赖于库B,库B依赖于库C,那么编译链接A的Makefile就只需要链接库B即可。AIX上的ld不支持间接链接,需要在Makefile中将B、C都链接上。所以报链接错误,有没有哪位大侠可以通过设置AIX上的ld的参数或其他方法,使其和HP-UX和Linux平台上的ld一样支持间接链接,否则我只能一个个改Makefile,好几百个Makefile呢。头大啊。。。。。

[解决办法]
ACE组件要求什么编译器啊? 你到IBM上找,看看有没有与ACE使用编译器标准相同的AIX安装包

热点排行