O GCC incorporou diretórios de inclusão para determinados cabeçalhos padrão. Só preciso saber onde está essa lista. Meu gcc recém-compilado não compilará meu pequeno programa C++ de teste porque não consegue encontrar cabeçalhos padrão. Acho que falha por causa de algumas opções de configuração que usei para deixar meu sistema de arquivos mais organizado. Eu configurei o bindir e o libdir, o que acho que pode ter estragado os caminhos de inclusão integrados por algum motivo.
Programa (dummy.c):
#include <iostream>
void main(){}
Comando:
g++ dummy.c
Erro:
dummy.c:1:20: fatal error: iostream: No such file or directory
Responder1
O pré-processador pode dizer o que ele usa
cpp -x c++ -v
...
#include "..." search starts here:
#include <...> search starts here:
/usr/include/c++/4.4
/usr/include/c++/4.4/i486-linux-gnu
/usr/include/c++/4.4/backward
/usr/local/include
/usr/lib/gcc/i486-linux-gnu/4.4.1/include
/usr/lib/gcc/i486-linux-gnu/4.4.1/include-fixed
/usr/include/i486-linux-gnu
/usr/include
End of search list.
Você pode adicionar diretórios ao caminho de pesquisa definindo as variáveis de ambiente C_INCLUDE_PATH
e/ouCPLUS_INCLUDE_PATH