
"/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
make
13番アイテムの最後のステップです。
結果ディレクトリにはソースファイルは含まれていませんが(そうではありません)、ヘッダーは含まれています(他のプログラムをコンパイルするために必要です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
make
make の間、ステップのすべての結果がターゲットにコピーされるわけではありません。これは正常です。install