libtoolのをインストールして使用する方法(.LOファイル)ライブラリを共有?
質問
私は、ターゲットシステム上でそれをインストールしてリンクすることができますので、私はlibtoolのを走ったと私は通常のLinuxに
libfoo.lo
ファイルを変換しますどのように私のライブラリのソースからfoo.o
とlibfoo.lo
ファイルを外に出たので、後に libfoo.so.1.0.0
のように、ライブラリを共有しましたか?
解決
あなたは--mode =コンパイルモードでのlibtoolを走ったように、
質問で述べた出力から、それが見えます。あなたは農産物.Aとの.soライブラリへの--mode =リンクでlibtoolを再実行する必要があります。
のlibtoolは、農産物ライブラリに必要とされているGCC、LN ARとRANLIBのための単純なラッパーです。それがないのはあなたの静的および共有ライブラリが正しく作成されることを保証するために必要なオプションを追加することはgccを実行されます。
の共有ライブラリに必要な位置独立コードの必要な生成を確実にするためにlibtoolのインサートを-fPICタグをコンパイル。 .oファイルには、静的.Aファイルにアーカイブすることができ、通常のオブジェクト・ファイルです。 .LOファイルは現在の.soファイルにリンクすることができる位置独立コードとオブジェクトファイルです。
のlibtoolをリンクする際は、.soの共有ライブラリにオブジェクトファイルをリンクする静的ライブラリやLNを作成するために、ARを実行します。
のlibtoolインストール= --modeを用いて、所望の場合にも、ライブラリをインストールすることができます。
を参照してください。 http://www.gnu.org/software/libtool/manual /libtool.html の詳細は。
コンパイルとリンク、実行可能ファイルを構築するときに、2つのステージが常に存在していることを覚えておいてください。
所属していません StackOverflow