我能够在AIX上使用神圣的本机编译器“xlc”成功构建共享对象。它确实构建了共享对象库,但没有安装共享对象库。
配置命令是: ./configure --prefix = / PATH / to / install --exec-prefix = / PATH / to / install --enable-shared --enable-static = no --enable-module = so --build = powerpc- ibm-aix5.3.0.0 --host = powerpc-ibm-aix5.3.0.0 LDFLAGS =“ - G -shared”
任何帮助都会受到赞赏吗?
答案 0 :(得分:0)
所以你试图编译到共享库位置。
我建议您查看是否可以编译/链接到本地目录。
如果可行,请尝试将新库复制到正确的目录。可能是旧共享库由某个进程打开,因此无法覆盖。
您收到任何错误消息吗?
答案 1 :(得分:0)
当我必须将LDFLAGS专门导出为“-brtl -L / path / to / install”时,我可以成功安装共享库。
答案 2 :(得分:0)
在AIX下,有两种类型的共享库,AIX样式和SysV compat库。
AIX样式库是可以包含静态库以及多个版本的共享库的archvies,其名称类似于libFOO.a
SysV-compat libs的名称类似于libFoo.so,更像是你在Linux上找到的名字。
Libtool将构建任何一种类型。如果您需要SysV-compat库,请将-Wl,-brtl添加到LDFLAGS。
我的猜测是你看到/PATH/to/install/lib/libFOO.a并假设它是一个静态库,实际上它是一个AIX共享库。