O Eclipse 3.7 não pode resolver Tipos no Editor de C ++
Eu recentemente mudei do Eclipse 3.6 para o Eclipse 3.7, que estou usando para desenvolvimento em C ++ no Ubuntu 11.04.
Com a versão 3.6 não tive grandes problemas, exceto que sempre tive alguns problemas com o indexador. Agora, com a versão 3.7, ele começa a marcar os tipos não resolvidos como erros. Como o indexador parece não gostar de mim ainda mais, meu Eclipse aparentemente não conhece tipos comouint16_t
ousize_t
.
Ao contrário dos erros exibidos no editor de código, meu compilador não tem problemas em compilar o código e resolver todos os símbolos e tipos, portanto, isso parece ser um problema do próprio IDE.
Há alguma maneira de evitar esse comportamento, porque todos os sublinhados vermelhos tornam meu código cada vez mais ilegível ...?
Atualizar:
Ok, com algumas pesquisas e a resposta de Dennis, descobri que preciso adicionar alguns caminhos paraProject Properties/ C/C++ General/ Paths and Symbols
Como estou construindo um PowerPC em vez de um destino I32, não posso simplesmente adicionar/usr/include
. Em vez disso, eu precisava adicionar
/usr/powerpc-linux-gnu/libc/usr/include
para todos os cabeçalhos padrão (comostdint.h
). Eu também precisava:
/usr/lib/gcc/powerpc-linux-gnu/4.5.1/include
para ostdarg.h
.
Agora quase todos os erros sumiram. A única função que ainda me incomoda éprintf
do cabeçalhostdio.h
. Eu procurei e o próprio arquivo de cabeçalho está dentro dos caminhos incluídos. Ainda recebo um erro que dizFunction printf could not be resolved
. Eu quero observar novamente, que estes são apenas erros exibidos pelo Eclipse - A própria compilação funciona bem.
Então isso realmente levanta 3 questões:
Nas propriedades do projetoPaths and Symbols
seção coesas com o incluem Caminhos fora doC++ Build/Settings/C++ Includes
seção. Isso significa que adicionar / excluir um caminho em uma dessas seções afeta diretamente a entrada dos outros. Desde oC++ Includes
diretamente coesa com o compilador Eu me pergunto por que o compilador pode compilar corretivo (e encontra os cabeçalhos), mesmo se eles não são passados para ele como um caminho? Existe algum tipo de caminho padrão que o GCC usa, que eu não conheço?
Por que ele não achaprintf
no eclipse? O arquivo de cabeçalhostdio.h
está incluído e também contém a declaração deprintf
- então por que o Eclipse Code Editor me diz que não pode resolvê-lo?
Por que os arquivos de cabeçalho são divididos tanto? Estou ciente de que preciso de outros arquivos de cabeçalho se estiver construindo outro trecho (por exemplo, PowerPC) - mas por que o GNU GCC separa esses cabeçalhos em dirs diferentes?