Go Down

Topic: WConstants.h: No such file or directory (Read 4521 times) previous topic - next topic

yimiblu

Hola a todos. Seguro que muchos pensarán que es un tema tocado hasta la saciedad, incluso que hay algún post permanente al respecto, de obligada lectura antes de postear aquí, pero el caso es que no doy con la solución en los post ya escritos al respecto en este foro. (no se si lo habré leído todo, pero prometo que lo he intentado).

Sin entrar al caso de lo que hago o tengo, que creo no haría falta para este fallo... compilando uno de los sketchs por defecto de arduino (ultima versión), uno de controlar un motor paso a paso concretamente (aunque todos me arrojan el mismo error), sucede esto:

In file included from stepper_speedControl.ino:20:
/Users/xxx/Documents/Arduino/libraries/Stepper/Stepper.h:52:24: error: WConstants.h: No such file or directory

el problema es que no encuentro referencia alguna al 'WConstans.h' en ningún archivo de la instalación de arduino, ni de las librerías concretas, ni de otras, ni dentro de los archivos .ino, .h o .cpp.... así que si alguien puede orientarme, podré seguir aprendiendo algo, porque la verdad es que me atasqué. :/ (y eso que acabo de arrancar. :S)

Muchas gracias por vuestra atención :)

Javi

noter

Sip. Se trata de un problema que supongo que estará bastante trillado, que se da con frecuencia en las librerías/sketch realizadas con versiones anteriores del ide.

Modifica
#include <WConstants.h>
por
#include <Arduino.h>

y prueba de nuevo a ver si hay suerte.

yimiblu

Hola, muchas gracias lo primero, y disculpa mi ignorancia, porque... es la respuesta que he leído mas veces, pero, no encuentro donde modificar tal cosa, ya que el único sitio en el que encuentro esa expresión, es en el mensaje de error. Como decía, ni en los archivos de las librerias, ni en el sketch, ni entre todos los archivos del core, encuentro tal expresión para poder cambiarla. Quizás si es un perro me muerda, pero... no doy con ello :D


Lisergio

Has mirado en Stepper.h o en Stepper.cpp dentro de la libreria??
Un saludo

yimiblu

Sí, esos dos archivos, los primeros que miré. Uso el Smultron como editor de texto avanzado para códigos. Siempre me ha ido de fábula, así que no creo que me esté ocultando nada :/Sigo sin solucionar mi problema ...

noter


¿Tienes o has tenido instalada más de una versión del ide? A mí me ocurrió que instalé una sin haber borrado la otra y hubo algún tipo de mezcla rara. Lo mejor es que elimines todo rastro de las carpetas de arduino (salvando tus proyectos, claro ;))y que descomprimas de nuevo el ide. Los ejemplos stepper incluidos en el ide deberían compilar sin problemas, cargándolos desde el propio menú del ide archivo-ejemplos-stepper. De momento no abras directamente los archivos ino o pde desde el explorador, porque tal vez no esté registrada correctamente la última versión del ide. Una vez que ya te abran y compilen correctamente los archivos abiertos desde el ide, puedes arriesgarte a abrirlos directamente con doble click desde el explorador.

yimiblu

Me había gustado tu respuesta, noter... pero mi gozo en un pozo. Eliminé todo rastro de arduino, y volvía instalar la última versión estable. 1.0.5

Uso Mac osx 10.6.8, el sketch es stepper_speedcontrol. Al tratar de compilar, abriendo desde el propio menú del programa: mismo error

Quote
In file included from stepper_speedControl.ino:20:
/Users/xxx/Documents/Arduino/libraries/Stepper/Stepper.h:52:24: error: WConstants.h: No such file or directory


Tanto en los archivos stepper.h como stepper.cpp, no existe referencia a ese 'wconstants.h'. Entre todas las carpetas del programa, no encuentro ninguna referencia a dicho  'wconstants.h'. En el propio archivo del sketch, tampoco. Siguiendo rutas que alguien escribió por ahí, dentro de los 'cores' tampoco aparece dicho archivo... así que no entiendo nada :D

¿cómo lo ves ahora?

gracias por la ayuda todo el rato :)


Lisergio

Buenas....
En el archivo Stepper.cpp hay una linea que pone...

#include "WProgram.h"

Cambia esa por

#include "Arduino.h"

Y prueba....


yimiblu

No existe referencia alguna a wprogram en ese archivo (en mi caso)....ni en stepper.h

No creo necesario pegar aqui el sketch, ya que es el original del ide 1.0.5 y cualquier buscador de texto dentro del código sirve para buscar tales cadenas, y NO hay nada que sea 'wconstants.h' o 'wprogram.h' que pueda sustituir por 'arduino.h'. En este sketch, ya aparece la línea:
Quote
#include "Arduino.h"


Ojalá fuera tan fácil :D ... y aquí sigo días sin poder compilar   :smiley-roll-blue:

Lisergio

Acabo de actualizar el IDE a la version 1.0.5 y he compilado el sketch sin problemas....

yo probaría a eliminar el IDE que tienes ahora ( incluida la carpeta librareis, que esta en Documentos/Arduino/libreries ) con alguna app como appzapper...
y lo descargaría de nuevo y lo instalaría de nuevo...

lo mismo has actualizado la librería por otra con el mismo nombre...

yimiblu

Hola de nuevo. Quiero agradeceros a todos la ayuda prestada :)
Ya he solucionado el 'asunto'. Resulta que, aun cuando estaba desinstalando por completo -supuestamente- con Appcleaner, la carpeta de librerias que se ubica en 'documentos' no se actualizaba, por lo que no hacía más que arrastrarla cada vez. Eso he querido creer. Cambié a una versión anterior del IDE, tras borrarlo todo, y volví a actualizar al 1.0.5. Cambié las susodichas líneas #include "WProgram.h" que ahora sí aparecían (solo en los archivos .h y .cpp de la carpeta de librerias sita en documentos, no en las del contenido de la app como siempre pensé... (zoquete...).

ahora, ya podré tropezar en todas las siguientes piedras de programación, y os lo haré saber :D

Gracias de nuevo!!

Javi
www.javiroces.es

Go Up