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?

¿Fue útil?

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í.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top