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++ Enterprise Edition
  • 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 システムの共用ライブラリーのセクションを参照)

関連情報