2014-01-14 4 views
7

Ich muss etwas in der Debug-Version von std::vector<T> nachschlagen, und ich kann mich nicht erinnern, wo die Header tatsächlich sind. Dies ist unter MSYS unter Windows, wo dies heikel ist, weil Sie /include haben, /mingw/include, /mingw/mingw32/include, /usr/include, und ich kann immer noch nicht, sie finden ...Suchen Sie den Pfad der STL-Header von g ++

ich einen Weg wissen, das ist eine Datei wie schreiben dies:

#include <vector> 

int main() { 
    return 0; 
} 

Dann

$ g++ -E temp.cpp | grep vector 

Und wir finden, dass es hier: /mingw/lib/gcc/mingw32/4.8.1/include/c++/vector

Aber gibt es einen schnelleren Weg? Können wir g++ ohne diesen Trick fragen?

Antwort

8

Sie können mit

g++ -print-search-dirs 

die vollständigen Suchpfade anzuzeigen, oder Sie können entlang der Linien von

echo '#include <vector>' | g++ -x c++ -E - | grep '/vector"' 
+1

Das ist großartig, ohne das Schreiben einer Quelldatei mit etwas auf einen speziellen Header zu finden! Für Windows-Benutzer wie mich sollte der Schrägstrich im Grep-Muster fallen gelassen werden. –

Verwandte Themen