
#include <stdio.h> は
デフォルトのインクルードパス(/usr/include/)からstdio.hファイルを
探しますよね?
http://oshiete1.goo.ne.jp/kotaeru.php3?q=2006018
ここに書いてあるように
gcc -print-search-dirs を実行してみたのですが、/usr/include の記述は
含まれていませんでした。
http://www.sra.co.jp/wingnut/gcc/gcc-j.html
で-print-search-dirsのオプションの意味を見てみましたがよくわかりませんでした。
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
「-v」オプションを使用すれば、gccがどのような動作をしているか全て表示されます。
例えは、以下のようにします。============================================================
# cat sample.c ←gccを動作させるためには、プログラムが必要(ここではgccのオプションを見たいだけなので、簡単なプログラムでよい。)
#include <stdio.h>
main() { printf( "Hello, World!!\n" ); }
# gcc -v -I./hogehoge sample.c
Using built-in specs.
Target: i386-redhat-linux
コンフィグオプション: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-libgcj-multifile --enable-languages=c,c++,objc,obj-c++,java,fortran,ada --enable-java-awt=gtk --disable-dssi --enable-plugin --with-java-home=/usr/lib/jvm/java-1.4.2-gcj-1.4.2.0/jre --with-cpu=generic --host=i386-redhat-linux
スレッドモデル: posix
gcc バージョン 4.1.1 20070105 (Red Hat 4.1.1-52)
/usr/libexec/gcc/i386-redhat-linux/4.1.1/cc1 -quiet -v -I./hogehoge sample.c -quiet -dumpbase sample.c -mtune=generic -auxbase sample -version -o /tmp/ccjKdz74.s
存在しないディレクトリ "/usr/lib/gcc/i386-redhat-linux/4.1.1/../../../../i386-redhat-linux/include" を無視します
#include "..." の探索はここから始まります:
#include <...> の探索はここから始まります:
./hogehoge ←コンパイルオプションで「-I./hogehoge」を指定したので、そのディレクトリを探している。
/usr/local/include
/usr/lib/gcc/i386-redhat-linux/4.1.1/include
/usr/include ←「-I」オプションを指定しなくても、デフォルトで探しにいっている。
探索リストの終わり
GNU C version 4.1.1 20070105 (Red Hat 4.1.1-52) (i386-redhat-linux)
compiled by GNU C version 4.1.1 20070105 (Red Hat 4.1.1-52).
[以下、省略]
#
============================================================
gccがどのようなデフォルト設定で動作しているか、確認してみて下さい。表示されない各種オプションが指定されていることもわかるはずです。
No.2
- 回答日時:
gccで使用されるインクルード場所は、
環境変数INCLUDEに設定されます。
特別設定されていなくても、OSの設定として/usr/include等は
入っています。
特別に追加したい場合は、環境変数INCLUDEに追加するか、
gccのオプションに-I で追加してみてください。
No.1
- 回答日時:
-print-search-dirs は、gcc コマンドがコンパイラ等の本体を探すパスなので、#includeのヘッダファイルの検索場所とは無関係です。
/usr/includeを表示するオプションはわかりません。/usr/include 固定だから表示オプションは無いのでは?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
LinuxにPHPをソースからインス...
-
gccのインクルードパスの確認
-
macos での /usr/local/lib と...
-
C言語ファイルのコンパイルがで...
-
mod_limitipconnのインストール...
-
makeコマンドができない
-
apache2.2 mod_proxy インスト...
-
ApacheにおけるSSLモジュールの...
-
apachectlが使えない
-
ubuntuにxspimをインストールで...
-
OpensslのVer.ダウン
-
Linuxのgccのインクルードパス?
-
Ubuntuをインストールし、ユー...
-
Windowsのソースコードって非公...
-
パソコンでゲームをプレイしよ...
-
Rでlavaanをインストールできま...
-
ImgBurn とブータブルISO
-
yumインストール先は、何で決ま...
-
ゲームは毎月買う? パッケージ版
-
Apacheとtomcatの削除
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Debianでのmakeコマンドインス...
-
gccのインクルードパスの確認
-
macos での /usr/local/lib と...
-
apacheのインストールについて
-
*** ターゲット `all' を make ...
-
Linuxのgccのインクルードパス?
-
linuxサーバーにjavaをインスト...
-
makeコマンドができない
-
Solaris10でCコンパイラが見...
-
ubuntuでのコンパイル
-
FreeBSD 8.0-p2にXウインドウを...
-
makeがエラーを吐く
-
xgalagaがインストールできない
-
ソースからmakeした場合の削除方法
-
xinetdのインストールについて
-
gccのアップグレードについて
-
OpensslのVer.ダウン
-
apache2のモジュール
-
apache make時のエラーで困って...
-
ダウンロードファイルなどは、...
おすすめ情報