コンパイルおよびインストール用のzlibの構成

コンパイルおよびインストール用のzlibの構成

"/root/tmp/zlib-1.2.8/"内にzlib-1.2.8をインストールしようとしていますが、設定オプションが不完全なようです。私が使用する設定コマンドは次のとおりです。

./configure --prefix=/usr2/lib2 --eprefix=/usr2/lib2

コンパイル前の「/usr2/lib2/」ディレクトリは空なので、「/root/tmp/zlib-1.2.8/」の内容と簡単に比較できます。 〜の後

make install

コマンドを実行した後、 "/root/tmp/zlib-1.2.8/"ディレクトリに*.o、*.lo、*.h、および*.cファイルがたくさんあることを確認しました。これらのファイルは存在しません。ターゲットディレクトリ "/"usr2/lib2/"の下のすべてのディレクトリ。これは設定仕様が不完全なように感じます。私は*.cファイルがsrcディレクトリに置かれると思います。信じています。*.loファイルまたは*.oファイルがどこに配置されるのかわかりません。

ベストアンサー1

あなたの設定は私が見るのに問題ないようです(通常はoverridesに適切なデフォルト値だけが欲しい./configure)。通常はビルドステップ(make)が含まれます。FAQダウンロードした1.2.8アーカイブに含まれるファイルから:

13. How can I make a Unix shared library?

    By default a shared (and a static) library is built for Unix.  So:

    make distclean
    ./configure
    make

14. How do I install a shared zlib library on Unix?

    After the above, then:

    make install

make13番アイテムの最後のステップです。

結果ディレクトリにはソースファイルは含まれていませんが(そうではありません)、ヘッダーは含まれています(他のプログラムをコンパイルするために必要ですzlib)。

.
├── include
│   ├── zconf.h
│   └── zlib.h
├── lib
│   ├── libz.a
│   ├── libz.so -> libz.so.1.2.8
│   ├── libz.so.1 -> libz.so.1.2.8
│   ├── libz.so.1.2.8
│   └── pkgconfig
│       └── zlib.pc
└── share
    └── man
        └── man3
            └── zlib.3

makemake の間、ステップのすべての結果がターゲットにコピーされるわけではありません。これは正常です。install

おすすめ記事