3

Linux で C および C++ でいくつかのプロジェクトを作成する予定です。一部のプロジェクトでは、追加のライブラリが必要になります。私が間違っている場合は修正してください。libs を に保存する予定です/usr/local/include。しかし、すべてのライブラリを 1 つのディレクトリに混在させるのは良い方法でしょうか? ディレクトリに libs 名のサブディレクトリを作成したほうがよい/usr/local/includeでしょうか? また、ヘッダーとソースを別のディレクトリに保存した方がよいのでしょうか? ベストプラクティスが必要です。

たとえばMiniIni https://code.google.com/p/minini/のようなコンパイルされていないライブラリを処理する方法。ヘッダーと C ファイルが付属しています。それをコンパイルして、/libディレクトリとヘッダーに配置する必要があり/includeます。または、すべてを /include に配置する方がよいのでしょうか?

4

4 に答える 4

3

ライブラリについて話す場合、コンパイルされたライブラリ(.soファイルまたは.aファイル)を意味すると思います。それらは に入る必要があり/usr/local/lib/ます。ヘッダーは に入る必要があり/usr/local/includeます。通常、ソース.cppファイルはインストールのどこにも配置しないでください。必要に応じて再構築できるように、それらをインストールする必要がある場合があります (dkms が思い浮かびます)。次に、ソースが に入るはず/usr/local/src/project_name/です。

/usr/local/include個人的には、ヘッダーとライブラリをとのサブディレクトリにインストールすることを好みます/usr/local/libが、誰もが同意するわけではありません。

/usr/localプレフィックスは常に構成可能である必要があります。従来make installはこれをデフォルトとして使用する必要がありますが、ディストリビューションのパッケージャーは確実に直接インストールするように変更します/usr

于 2013-12-17T09:09:54.623 に答える
0

すべてのライブラリを customlib ディレクトリに保存することをお勧めします。

LD_LIBRARY_PATH 環境変数をこのディレクトリに設定するか、gcc を使用している場合は -L オプションを使用します (例: minini の場合)。

このように、あなたの仕事はあなたのシステムに干渉せず、それを壊すことはありません.

于 2013-12-17T13:26:15.427 に答える