いくつかの新しいヘッダーファイルをダウンロードし、それらのフォルダーを使用可能にしたいだけです。まず、それらを使用したい任意のファイルで利用できるようにしたいと思います。そのため、たとえばmath.hのように、新しいヘッダーファイル(newheader.h)を必要な場所に含めることができます。どこに置けばいいですか?
第二に、これらのファイルをすべてのユーザーが利用できるようにします。ルート権限があります。配置する必要がある特別なディレクトリはありますか?本当にありがとう!
/usr/local/include
に保存します。 http://tldp.org/LDP/Linux-Filesystem-Hierarchy/html/usr.html から、このディレクトリ内のアイテムは「...システムソフトウェアの更新時に上書きされないように安全です」 。これは、ダウンロードしたヘッダーファイルがシステムアップデートによって破壊されることを望まないため重要です。これは、/usr/include
に入れると発生する可能性があります。
MYシステムには、/usr/local/include/
ディレクトリが存在し、空です。 Filsystem Hierarchy Standardでは、( FHS 3. )使用するディレクトリは/usr/local/include
であると書かれています。ファイルは誰でも読み取り可能(0444
)であり、ディレクトリは検索可能(0555
)である必要があります。
問題は、何を達成したいですか?
通常、次の3つのシナリオがあります。
$HOME
内)最初の2つでは、おそらく-I
スイッチを使用してヘッダーへのパスを指定する必要があります。最初はおそらく-I../mylib/include
で、2番目は-I/home/user/local_libs/somelib/include
です。
3番目はグローバルインストールで、/usr/local/include
に配置する必要がありますが、automakeやcmakeなどのツールで管理します。パッケージ化するとき、メンテナーはヘッダーを/usr/include
にインストールするために、インストールパスやインクルードパスを調整する必要があります。
Automakeを使用する場合、--prefix
parameter がデフォルトで/usr/local
であることに気付く場合があります。これは、システムパッケージに干渉しない安全なインストール、つまりdebianメンテナは./configure --prefix=/usr
パッケージスクリプト内。インクルードパスはこのプレフィックスから構築されるため、パッケージのインストールに従います。