Compiling

如何在 AIX 上編譯共享庫

  • July 21, 2015

我有一個簡單的共享庫,目前在 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?

謝謝你。

在 AIX 上,您可以擁有 3 個編譯器:

  • 海合會
  • 更新的 XL C/C++ 企業版
  • 舊版 VisualAge C++ Professional

對於自 2.x 後期以來的 GCC,創建共享庫的語法是:

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 系統上的共享庫部分)

引用自:https://unix.stackexchange.com/questions/217289