家・車以外で、人生で一番奮発した買い物

Linuxのgccで、インクルードファイルやライブラリのパスを設定する方法が知りたいのですが、gccについて詳しい書籍やサイトがありましたら、教えてください。

gccとccの違いも知りたいです。

例)
#include "example.h"

このままだと、example.hが無いと表示されます。

A 回答 (2件)

標準ライブラリのパスは、gccのインストール時に指定して、Cプリプロセッサの中に組み込まれます。



#include "example.h"
は、まずカレントディレクトリを探し、次に gccコマンドラインの -I オプションで指定したディレクトリを探し、最後に標準ライブラリが探されます。

#include <example.h>
は、カレントディレクトリを探さない点が異なります。

ccも基本的には同じですが、Unixの種類によって機能が異なる可能性があります。Linuxの場合はcc=gccです。
    • good
    • 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 へのシンボリックリンクまたはハードリンクとして作成されていることがほとんどなので、基本的には同じと考えて問題ありません。
    • good
    • 5

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


おすすめ情報