私はPHP拡張モジュール内で使用するスタティックライブラリを作成しようとしています。これを行うには、.c
ファイルをgcc -c file.c -o file.o
でコンパイルし、.o
個のファイルを取得しています。次に、ar rcs lib.a *.o
を使用して、コンパイルされたすべてのオブジェクトを.a
ファイルにアーカイブします。スタティックライブラリの作成
これを実行した後、私のPHP拡張モジュールをコンパイルするとき、私は、この.a
ファイルを参照するんだけど、私は次のエラーを取得する:
*** Warning: Linking the shared library <extension>.la against the
*** static library lib.a is not portable!
私が代わりに.a
ファイルの.o
ファイルを使用している場合は、私が取得:
*** Warning: Linking the shared library <extension>.la against the non-libtool
*** objects file1.o file2.o is not portable!
これを行う正しい方法は何ですか。
見ることができますmakeファイル内のいくつかのリンクフラグをcorrctingことによってそれを解決している:'警告:共有ライブラリ .laと非libtoolオブジェクトfile1.o file2.oをリンクすると、移植性がない! –
rid
libtoolをまったく使用している場合、libtoolを使用してすべてを構築する必要があります。 –
私は大好きですが、どうしたらいいのかわかりません。私は 'libtool'を使用していません.PHPです。 – rid