73

小さなビルドスクリプトを作成しようとしていますが、インクルードがシステムインクルードであるかどうかを確認したいと思います。したがって、 g++に使用しているインクルードパスを教えてもらいたいのです。

cpp -v明らかなベストショットのようですが、C++パスは提供されません。

だから私は試しました:

g++ -Xpreprocessor -v  

これは正しく機能しません-g++-vは、それ自体の詳細な出力をキャプチャします。

4

1 に答える 1

108

Jonathan Wakelyからより良いオプション(clangでも機能します):

g++ -E -x c++ - -v < /dev/null 
clang++ -E -x c++ - -v < /dev/null

cppに言語を指定するためのフラグがあることに気づきました。これは魅力のように機能します。

cpp -xc++ -v < /dev/null


#include "..." search starts here:
#include <...> search starts here:
 /usr/local/Cellar/gcc/4.7.0/gcc/lib/gcc/x86_64-apple-darwin11.4.0/4.7.0/../../../../include/c++/4.7.0
 /usr/local/Cellar/gcc/4.7.0/gcc/lib/gcc/x86_64-apple-darwin11.4.0/4.7.0/../../../../include/c++/4.7.0/x86_64-apple-darwin11.4.0
 /usr/local/Cellar/gcc/4.7.0/gcc/lib/gcc/x86_64-apple-darwin11.4.0/4.7.0/../../../../include/c++/4.7.0/backward
 /usr/local/Cellar/gcc/4.7.0/gcc/lib/gcc/x86_64-apple-darwin11.4.0/4.7.0/include
 /usr/local/include
 /usr/local/Cellar/gcc/4.7.0/gcc/include
 /usr/local/Cellar/gcc/4.7.0/gcc/lib/gcc/x86_64-apple-darwin11.4.0/4.7.0/include-fixed
 /usr/include
 /System/Library/Frameworks
 /Library/Frameworks
End of search list.

-x c++ to be -xc++gcc4.2では重要であることに気づきました

于 2012-08-14T05:36:49.893 に答える