C++ 定位g+使用的STL头的路径+;

C++ 定位g+使用的STL头的路径+;,c++,gcc,stl,g++,msys,C++,Gcc,Stl,G++,Msys,我需要在调试版本的std::vector中查找一些东西,但我记不起头的实际位置。这是在Windows上的MSYS下,这很棘手,因为您有/include,/mingw/include,/mingw32/include,/usr/include,我仍然找不到它们 我知道一种方法,就是写一个这样的文件: #include <vector> int main() { return 0; } 我们发现它就在这里:/mingw/lib/gcc/mingw32/4.8.1/includ

我需要在调试版本的
std::vector
中查找一些东西,但我记不起头的实际位置。这是在Windows上的MSYS下,这很棘手,因为您有
/include
/mingw/include
/mingw32/include
/usr/include
,我仍然找不到它们

我知道一种方法,就是写一个这样的文件:

#include <vector>

int main() {
    return 0;
}
我们发现它就在这里:
/mingw/lib/gcc/mingw32/4.8.1/include/c++/vector


但是有没有更快的办法?我们可以问
g++
而不使用此技巧吗?

您可以使用

g++ -print-search-dirs
或者,您可以找到一个特定的头文件,而无需编写包含以下内容的源文件:

echo '#include <vector>' | g++ -x c++ -E - | grep '/vector"'
<代码>回音''包含''g++-xC++ +e -GeRp /向量''
太好了!对于像我这样的Windows用户,应该删除grep模式中的斜杠。
echo '#include <vector>' | g++ -x c++ -E - | grep '/vector"'