如何在 AIX 上编译共享库

如何在 AIX 上编译共享库

我有一个简单的共享库,当前使用以下命令在 Linux 上编译:

gcc -c -fPIC foo.c -o foo.o

gcc -shared -o foo.so foo.o

我需要向同事转发指令,以便在 AIX 上编译相同的内容。我不知道我的同事是否会在 AIX 上使用 gcc 还是本机编译器。

这些 gcc 指令也适用于 AIX 吗?如果不是,需要进行哪些修改? Linux gcc 版本是 4.4.7 任何人都可以提供使用本机 AIX 编译器的说明吗? xlC?

谢谢。

答案1

在 AIX 上,您可以有 3 个编译器:

  • 海湾合作委员会
  • 较新的 XL C/C++ 企业版
  • 旧版 VisualAge C++ Professional

对于 GCC 2.x 后期以来,创建共享库的语法是:

gcc -shared -Wl,-soname,your_soname -o library_name file_list library_list

例子:

gcc -fPIC -g -c -Wall a.c
gcc -fPIC -g -c -Wall b.c
gcc -shared -Wl,-soname,libmystuff.so.1 -o libmystuff.so.1.0.1 a.o b.o -lc

对于上述 AIX 本机编译器,请参阅此页面以获取详细说明:

http://www.ibm.com/developerworks/aix/library/au-gnu.html

(请参阅 AIX 与 System V 系统上的共享库部分)

相关内容