2009-09-19 14 views
5

Estoy trabajando con un pequeño grupo en un proyecto de C++ en NetBeans."No se puede resolver ..." en NetBeans 6.7.1, Linux, C++

Por alguna razón, NetBeans informa cosas como "cadena", "endl", "cout" como "No se puede resolver" aunque se hayan incluido las bibliotecas correctas.

El proyecto se compila y se ejecuta como se esperaba, por lo que al final del día, no es gran cosa, es solo que tener todo marcado como un error lo hace bastante molesto.

No he podido encontrar nada en este error. Solo una vaga referencia en un blog. ¿Alguien más lo ha experimentado?

Obviamente no es muy extendido, por lo que debe haber un ajuste/configuración que lo causa. ¿Alguien sabe a quién evitar que esto suceda?

EDIT:

No, estos "errores" son los únicos en el IDE. El código compila bien y se ejecuta. El desarrollador ha utilizado "using namespace std;" así que no debería haber problemas. Parece que NetBeans IDE tiene errores.

Código de ejemplo:

#include <stdlib.h> 
#include <string> 
#include <iostream> 

using namespace std; 

int main(int argc, char** argv) 
{ 
    string test; 
    test = "Why?"; 

    cout << test << endl; 

    return (EXIT_SUCCESS); 
} 

Este código se compila e imprime "¿Por qué?" pero tiene "cadena", "cout" y "endl" marcados como errores en el IDE. Explícitamente el uso de std :: hace ninguna diferencia

Limpiar Editar:

Para todos los interesados, a los pocos días tuve 6 actualizaciones disponibles para NetBeans. Después de instalar estas actualizaciones, se corrigió el problema, a pesar de que el código no cambiaba. Entonces, aparentemente fue un error de NetBeans.

+0

¿Ve estos problemas en el IDE durante la edición del código o los está viendo durante la etapa de compilación? –

+1

En el IDE durante la codificación únicamente. Todo compila Y se ejecuta sin error o advertencia. Es un código completamente válido, NetBeans simplemente no está de acuerdo –

+0

Debe incluir '' en lugar de '' cuando escribe C++. cstdlib aprovechará los espacios de nombres en C++, entre otras cosas. –

Respuesta

0

para todos los interesados, a los pocos días tuve 6 actualizaciones disponibles para NetBeans Después de instalar estas actualizaciones, el problema se solucionó, a pesar de que el código no cambiaba. Por lo tanto, aparentemente era un error de NetBeans.

+0

tengo este problema también. Tengo NetBeans 7.1. Pero en Windows 7. Todavía no funciona. El código funciona bien. Pero los errores aparecen. [aquí está mi problema] (http://stackoverflow.com/questions/20936513/c-in-netbeans-shows-errorsunable-to-resolve-identifiers-but-the-code-runs-fi) – prime

0

Try std::string, std::endl, std::cout, etc.

O

using std::string; 
using std::endl; 
using std::cout; 

al comienzo del archivo fuente, después de incluir las bibliotecas. Tal vez su IDE los está marcando como errores pero de todos modos usa el espacio de nombres estándar.

Usted también puede utilizar

using namespace std; 

pero que es generalmente un mal hábito, ya que estorba el espacio de nombres global, y puede terminar con ambigüedades (el espacio de nombres estándar es grande). Personalmente, acabo de poner std:: antes que todo en mis proyectos pequeños, y un using std::______ en el proyecto o bloques donde lo uso en proyectos más grandes.

De todos modos, así es como suena el error, pero (al menos en mi experiencia) el programa no debería compilar si este es el problema.

Según su edición:
si los errores que obtiene provienen únicamente del IDE, tal vez lo tiene en un modo incorrecto o algo así? El código que publicó en su ejemplo es lo suficientemente simple como C++ que cualquier compilador o IDE que esté dispuesto a trabajar con C++ lo manejaría sin problemas.Si los errores que describió provienen de su compilador, significaría que no incluyó el espacio de nombres o que estaba tratando de compilar el código de C++ con un compilador de C, ¿quizás Netbeans cree que está escribiendo C?

+0

"el programa debería dejar de compilación si este es el problema", por favor ver a partir de la pregunta real, la siguiente cita: "El proyecto se compila y ejecuta como se esperaba" Gracias por intentar ayudar embargo. –

+0

No puede ser eso tampoco. Reconoce las clases que escribimos correctamente, así como también pasa por referencia. No puedo pensar en ningún modo de idioma, podría ser donde estaba bien y la cadena no. –

+0

raro. No hay nada más que pueda pensar –

1

hmm .. esto mismo me acaba de pasar a mí. Una vez que comencé con NetBeans, simplemente subrayaba todas mis llamadas a openGL (gl, glu y glut), y no pude deshacerme de los errores. Se compiló muy bien (+ No cambié nada en el código desde la última vez que no mostró errores)

Después de leer esta publicación Comprobé las actualizaciones, actualizadas y ahora no indica ningún error :) es raro porque actualizo regularmente ..

EDIT:. NVM, ahora ellos están subrayadas de nuevo :(

0

FWIW Tuve el mismo problema con Netbeans 6.8 en Ubuntu 10.04. Frustrante, Netbeans también me dijo que estaba actualizado en el menú Ayuda -> Buscar actualizaciones (ya que esta es la versión actual de Ubuntu).

Eliminando Netbeans a través de synaptic/aptitude y descargando e instalando manualmente la última versión (6.9.1) también resolvió el problema para mí. Espero que no haya más cosas desagradables en la tienda ...

Ahora que he resuelto esto y he aplicado el parche de rendimiento this, tengo un IDE realmente bueno configurado con la finalización rápida del código. Es una lástima que esta experiencia no esté disponible de inmediato, pasé un buen rato tanto en Eclipse CDT como en Netbeans tratando de hacer que las cosas funcionen bien.

Cuestiones relacionadas