转储包括来自g ++的路径

时间:2012-08-14 05:36:50

标签: path include g++ build-automation

我试图编写一个小的构建脚本 - 并想确定包含是否包含系统。所以我想要g ++告诉我它使用的包含路径。

cpp -v似乎是最好的镜头,但它并没有给我C ++路径。

所以我试过了:

g++ -Xpreprocessor -v  

哪种方法做得不对 - g ++为它自己的详细输出捕获了-v。

谢谢, 奥利弗

1 个答案:

答案 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++非常重要