Compiling
如何在 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?
謝謝你。
在 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 系統上的共享庫部分)