2016-08-19 14 views
0

AIXマシン上でGCCコンパイラを使用してCコードをコンパイルしているときに* .soファイルをリンクしようとしていますが、伝統的な-Lと-lオプションを使ってpathと.soのライブラリ名をそれぞれ使用すると "could not find error"と表示され、LD_LIBRARY_PATHを設定するとどちらも助けになりませんでした。私は、AIXでリンクオプションが異なることを理解しています。しかし、私は正しいオプションを理解することができません。 あなたは私の質問に例文で答えてください。AIX:GCCコンパイラを使用してAIXで* .soファイルをリンクする方法

おかげで、*so*共有オブジェクトを使用することができるようにする

答えて

1

使用オプション-Wl,-brtl

編集(最初のオプションは、コンテキストに応じて-maix32-maix64のいずれかである):

gcc -maix32 -o example -Wl,-brtl example.c /var/tmp/lib/librequired.so 

または

gcc -maix32 -o example -Wl,-brtl example.c -L/var/tmp/lib -lrequired 
+0

私は、このオプションを使用しますが、 "ないCOFFファイル" エラーを得ました。たとえば、パス "/ var/tmp/lib"にライブラリファイル "librequired.so"があり、 "example.h"ヘッダファイルがあるCファイル "example.c"があるとします。さて、あなたは完全なgccコマンドが何であるか教えてください。ありがとう –

+0

@Sandeepそれはおそらくcoffファイルではありません。 'file/var/tmp/lib/librequired.so'とは何ですか? –

関連する問題