Asistencia en código en NetBeans en Linux
-
23-10-2019 - |
Pregunta
Mi IDE (NetBeans) cree que este es un código incorrecto, pero compila correctamente:
std::cout << "i = " << i << std::endl;
std::cout << add(5, 7) << std::endl;
std::string test = "Boe";
std::cout << test << std::endl;
Siempre dice unable to resolve identifier .... (.... = cout, endl, string);
Así que creo que tiene algo que ver con la asistencia del código. Creo que tengo que cambiar/agregar/eliminar algunas carpetas. Actualmente, tengo estas incluyen carpetas:
Compilador c:
/usr/local/include
/usr/lib/gcc/i486-linux-gnu/4.4.3/include
/usr/lib/gcc/i486-linux-gnu/4.4.3/include-fixed
/usr/include
Compilador C ++:
/usr/include/c++/4.4.3
/usr/include/c++/4.4.3/i486-linux-gnu
/usr/include/c++/4.4.3/backward
/usr/local/include
/usr/lib/gcc/i486-linux-gnu/4.4.3/include
/usr/include
¿Qué podría estar causando esto y cómo puedo hacer que NetBeans lo marque como código válido?
Solución
Funciona bien para mí. Estoy usando NetBeans 6.8; La única referencia indefinida que obtuve fue para la función add ().
¿Puede probar con un nuevo proyecto para ver si puede reproducir el problema?
Editar (respuesta):
Sí, probado en Linux. No incluye agregado en las propiedades del proyecto.
En las opciones globales de C/C ++ tengo una ruta de inclusión adicional para C, /usr/include/i486-linux-gnu
.
Para C ++ tengo:
/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.3/include
/usr/lib/gcc/i486-linux-gnu/4.4.3/include-fixed
/usr/include/i486-linux-gnu
/usr/include
Estos son mis valores predeterminados, no los he tocado. Hth también uso GCC-4.4.3 (Ubuntu 10.04).
Otros consejos
¿Tienes las incluido adecuado?
Si no recuerdo mal, necesitas
#include <iostream>
Vaya a Herramientas-> Opciones-> C/C ++-> Build Tools, mostrará que el compilador NetBeans está utilizando. P.ej
/usr/bin/g++
Escribiendo en un terminal:
$ whereis g++
g++: /usr/bin/g++ /usr/bin/X11/g++ /usr/share/man/man1/g++.1.gz
$ ls -al /usr/bin/g++
lrwxrwxrwx 1 root root 7 Mar 13 2012 /usr/bin/g++ -> g++-4.6
Mostrará qué versión del compilador NetBeans está utilizando. Si las bibliotecas en la pestaña de asistencia del código no coinciden, debe cambiarlas por las de la versión correcta. P.ej
/usr/include/c++/4.6
...
/usr/lib/gcc/i686-linux-gnu/4.6/include-fixed
y así.