現在、次のコマンドを使用して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 システムの共用ライブラリーのセクションを参照)