LinuxでGCCのデフォルトのインクルードパスを追加する方法


288

gccに$HOME/include通常のインクルードディレクトリに加えてファイルをインクルードしてもらいたいのですが、に類似しているようには見えません$LD_LIBRARY_PATH

コンパイル時に(またはmakefileで)コマンドラインでインクルードディレクトリを追加できることはわかっていますが、ライブラリの場合のように、ここでは普遍的なアプローチが本当に必要です。


3
これは、C_INCLUDE_PATHおよびCPLUS_INCLUDE_PATH環境変数が文書化されているGCC 4.8.1マニュアルへのリンクです。
mloskot

回答:


392

C_INCLUDE_PATH(Cヘッダーファイルの場合)またはCPLUS_INCLUDE_PATH(C ++ヘッダーファイルの場合)を設定してみてください。

Ciroが述べたように、CPATHCとC ++(およびその他の言語)の両方のパスを設定します。

詳細については、GCCのドキュメントをご覧ください。


53

お気に入りのインクルードでgccのエイリアスを作成します。

alias mygcc='gcc -I /whatever/'

12
私は後にスペースがあってはならないと思う-I
Iuliusカート

10
-l<libnam>リンクを入力するのと同じように、スペースを省略する習慣の問題です。エイリアスの作成は非常に貧弱なソリューションであることに注意してください。実際には、「お気に入りのインクルード」のリストを作成し、メイクファイルに追加します。
h4unt3r 2013年

9
「ライブラリを個別の引数として使用する2番目の選択肢はPOSIX準拠のためだけであり、推奨されません。」、GCCのマニュアルによると。
Jori 14

良い考えではありません。これは構成可能ではなく(別のディレクトリが必要な場合はどうですか?他のGCCスイッチが必要な場合はどうなりますか)、gccを前提とするさまざまなスクリプトや自動化ツールを混乱させる可能性があります。
アインポクルム

8

gccスペックファイルで処理できますが、マシン上のすべてのユーザーが影響を受けます。

こちらをご覧ください


6

ただのメモ:CPLUS_INCLUDE_PATHC_INCLUDE_PATH同等ではありませんLD_LIBRARY_PATHLD_LIBRARY_PATHld(実行時の動的リンカー)を提供しますが、ライブラリの場所でC / C ++コンパイラーを提供する前の2つに相当するものはLIBRARY_PATHです。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.