Мне нужно найти что-то в отладочной версии std::vector<T>
и я не могу вспомнить, где на самом деле находятся заголовки. Это под MSYS на Windows, где это сложно, потому что у вас есть /include
, /mingw/include
, /mingw/mingw32/include
, /usr/include
и я до сих пор не могу их найти …
Я знаю один способ, это написать файл так:
#include <vector>
int main() {
return 0;
}
затем
$ g++ -E temp.cpp | grep vector
И мы находим, что это здесь: /mingw/lib/gcc/mingw32/4.8.1/include/c++/vector
Но есть ли более быстрый способ? Можем ли мы спросить g++
без использования этого трюка?
Вы можете отобразить полные пути поиска с
g++ -print-search-dirs
или вы можете найти конкретный заголовок без записи исходного файла с чем-то вроде
echo '#include <vector>' | g++ -x c++ -E - | grep '/vector"'
Других решений пока нет …