studio reales proyectos programacion libro introducción incluye herramientas fundamentos fuente español código con avanzado aplicaciones c++ c eclipse arduino

c++ - reales - libro de android studio en español pdf



Eclipse C/C++ muestra errores pero compila? (7)

Así que estoy creando un código Arduino en eclipse, como se describe en Tu segundo proyecto Arduino , pero cada vez que uso una biblioteca Arduino, como Serial , Eclipse subraya los nombres de mis funciones, afirmando que no se pueden resolver. Sin embargo, el código en realidad se compila, así que no entiendo por qué Eclipse cree que faltan las funciones. Si alguien tiene alguna idea sobre cómo resolver este problema, sería apreciado. Gracias de antemano.

EDITAR: Debería haber sido más específico, Eclipse subraya los MÉTODOS dentro de las bibliotecas de Arduino. Así que si uso Serial.println("hello"); , subraya println() y afirma que no se puede resolver. Luego se compila bien y el método funciona cuando se carga en el tablero de arduino.

EDIT2: encontré mi error, resulta que estaba tratando de usar algunas funciones de C ++ en un archivo C, y a eclipse no le gustó; Cambié el nombre a .cpp y todo el rojo desapareció;) ¡Gracias por su ayuda!


Al resolver los símbolos, el indexador de CDT parece considerar todos los archivos de encabezado independientemente de cuáles están realmente incluidos en la unidad de compilación. Hay un informe de error correspondiente archivado con Eclipse Bugzilla: https://bugs.eclipse.org/bugs/show_bug.cgi?id=439553


Eclipse no funciona tan bien con C ++ como con Java, pero debería advertirle sobre problemas una vez que presione "Reconstruir" en la barra de menú.

Intenta eso, y ve si resuelve tu problema.


Eclipse puede o no estar tirando de las rutas para indexar desde su configuración de compilación, dependiendo de la configuración. Lo más probable es que no ... se está construyendo correctamente porque la configuración de tu compilación está bien, y probablemente puedas construir a mano.

El indizador CDT (que es el motor para decidir de dónde provienen todos esos subrayados bonitos, así como la finalización del código, el salto de declaración F3, etc.) no es lo suficientemente inteligente en muchos casos para analizar sus Makefiles y saber dónde buscar Para encabezados y fuente. Necesitas decirle a Eclipse esa información manualmente.

Vaya a Propiedades del proyecto -> C / C ++ General -> Rutas y símbolos .

La cantidad de trabajo que necesita poner en esto puede variar mucho, dependiendo de su entorno. Si esta biblioteca externa es lo único que le causa dolores de cabeza, entonces probablemente solo necesite agregar las rutas para esa biblioteca y reindexar:

Haga clic con el botón derecho en el proyecto y seleccione Índice -> Reconstruir


La siguiente solución funcionó para mí: haga clic en su proyecto con el botón derecho. Luego: Propiedades -> C / C ++ General -> Rutas y símbolos -> Símbolos -> GNU C ++. Casi seguro que no hay símbolos en absoluto si tiene este problema. Agregue el símbolo "__cplusplus" con el valor "201402L" Después de esto: Haga clic con el botón derecho en Proyecto -> Índice -> Reconstruir Ya ha terminado.


Para empezar, ¿de qué color es el subrayado? Esto hace una diferencia, ya que amarillo significa que es una advertencia, y rojo significa que es un error (crítico, no se creará en la mayoría de las circunstancias).

En segundo lugar, debe consultar la pestaña "Problemas" para ver si hay errores reales. Si no hay nada allí, entonces sí compiló correctamente.

Ahora, volviendo a la pregunta original. Dependiendo del tipo de proyecto que está construyendo, este tipo de comportamiento no es tan infrecuente. Eclipse parece hacer un mal trabajo al indexar ciertos proyectos. Cuando ejecutas "make all" desde la línea de comandos (que es efectivamente lo que hace Eclipse durante la compilación) es probable que resuelva todo tu código y lo construya bien.

Sin embargo, Eclipse utiliza una herramienta diferente e independiente para indexar todo su código fuente y resolver definiciones y declaraciones de variables / funciones. Esto es literalmente un caso de la mano izquierda que no sabe lo que está haciendo la mano derecha.


Tuve incluir carpetas en

Propiedades del proyecto -> C / C ++ General -> Rutas y símbolos -> Incluye

Cuando los eliminé, los subrayados rojos desaparecieron, es decir, la compilación y el IDE se sincronizaron.


Yo tuve el mismo problema. Índice -> Reconstruir no ayudó. Cuando agregué la línea #include <avr/iom1280.h> en main.cpp e hice que el Índice -> Reconstruir los subrayados desapareciera. Luego borré la línea #include <avr/iom1280.h> y el proyecto aún sin líneas de referencia.

Reemplace iom1280.h con el nombre de su controlador. Busque en la carpeta "avr / include / avr /" los nombres disponibles