我试图编写一个小的构建脚本 - 并想确定包含是否包含系统。所以我想要g ++告诉我它使用的包含路径。
cpp -v似乎是最好的镜头,但它并没有给我C ++路径。
所以我试过了:
g++ -Xpreprocessor -v
哪种方法做得不对 - g ++为它自己的详细输出捕获了-v。
谢谢, 奥利弗
答案 0 :(得分:82)
来自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.
注意到gcc 4.2上的-x c++ to be -xc++
非常重要