• ベストアンサー

Linuxのgccのインクルードパス?

Linuxのgccで、インクルードファイルやライブラリのパスを設定する方法が知りたいのですが、gccについて詳しい書籍やサイトがありましたら、教えてください。 gccとccの違いも知りたいです。 例) #include "example.h" このままだと、example.hが無いと表示されます。

質問者が選んだベストアンサー

  • ベストアンサー
  • notnot
  • ベストアンサー率47% (4900/10358)
回答No.1

標準ライブラリのパスは、gccのインストール時に指定して、Cプリプロセッサの中に組み込まれます。 #include "example.h" は、まずカレントディレクトリを探し、次に gccコマンドラインの -I オプションで指定したディレクトリを探し、最後に標準ライブラリが探されます。 #include <example.h> は、カレントディレクトリを探さない点が異なります。 ccも基本的には同じですが、Unixの種類によって機能が異なる可能性があります。Linuxの場合はcc=gccです。

その他の回答 (1)

  • entree
  • ベストアンサー率55% (405/735)
回答No.2

gcc がデフォルトで検索するヘッダファイルとライブラリの場所は、以下のコマンドで確認することが出来ます。 gcc -print-search-dirs 確認していないので分かりませんが、まあ、基本的には (gcc のインストール先)/include:/usr/include だと思います。 他のディレクトリにインストールされているヘッダファイルを検索するためには -I または -I- オプションを指定する必要があります。(-I- オプションを使っているところは見たことがありません) (ex.1) ヘッダファイルが /usr/local/include に存在する場合 gcc -I/usr/local/include ... (ex.2) ヘッダファイルが /usr/local/include と /opt/app/include に存在する場合 gcc -I/usr/local/include -I/opt/app/include ... > gccとccの違いも知りたいです。 Unix では gcc と cc は全く別物ですが、Linux では cc が gcc へのシンボリックリンクまたはハードリンクとして作成されていることがほとんどなので、基本的には同じと考えて問題ありません。