This forum uses cookies
This forum makes use of cookies to store your login information if you are registered, and your last visit if you are not. Cookies are small text documents stored on your computer; the cookies set by this forum can only be used on this website and pose no security risk. Cookies on this forum also track the specific topics you have read and when you last read them. Please confirm whether you accept or reject these cookies being set.

A cookie will be stored in your browser regardless of choice to prevent you being asked this question again. You will be able to change your cookie settings at any time using the link in the footer.

  • 0 voto(s) - 0 Media
  • 1
  • 2
  • 3
  • 4
  • 5
CONSULTA Problema con archivo no encontrado
#1
Hola gente. Tengo un problema bastante raro y me esta volviendo loco.
Estoy intentando realizar unas pruebas con el modulo QN8027, que es un emisor de FM integrado. Para ello me baje una libreria y su archivo de ejemplo. En realidad el .zip contiene tres archivos, (QN8027Radio.cpp, QN8027Radio.h y QN8027Radio.ino).
Cuando abro el QN8027Radio.ino en el IDE de Arduino, abre tambien los otros dos, hasta ahi todo bien. lo extraño es que cuando le doy a subir, me marca este error:
"Radio_QN8027:15:25: error: QN8027Radio.h: No such file or directory
compilation terminated.
exit status 1
QN8027Radio.h: No such file or directory".
O sea me esta diciendo que el archivo QN8027Radio.h, que tiene abierto no es un archivo o directorio. Y eso es lo que no consigo entender.
Por si era problema de permisos, le he dado lectura/escritura para todos, e igualmente por si era problema de la ruta donde esta, he copiado la carpeta en el raiz de mi usuario y pasa lo mismo.
¿Alguien sabe que puede estar ocurriendo?.
Gracias de antemano.

Saludos.
  Responder
#2
creo que estas traduciendo mal

QN8027Radio.h: No such file or directory

no significa que no sea ni archivo ni directorio, significa que no lo encuentra

tienes que revisar los "includes" en el programa padre, para ver a donde esta llamando al fichero, no sea que lo llame dentro de un directorio y tu lo tengas en el raiz del proyecto.

saludos
  Responder
#3
(18-04-2019, 11:23 AM)neoxM3 escribió: creo que estas traduciendo mal

QN8027Radio.h: No such file or directory

no significa que no sea ni archivo ni directorio, significa que no lo encuentra

tienes que revisar los "includes" en el programa padre, para ver a donde esta llamando al fichero, no sea que lo llame dentro de un directorio y tu lo tengas en el raiz del proyecto.

saludos

Gracias por la respuesta neoxM3.
Lo que comentas ya lo habia comprobado y esta todo bien, en los includes no hay ruta especifica.
Respecto a la traduccion, bueno al fin y al cabo el resultado es el mismo. Repito el archivo no solo esta en la carpeta, sino que ademas el IDE lo abre automaticamente. Pero a la hora de compilar dice que no lo encuentra.
Si quieres comprobarlo te dejo el enlace para descargarlo.
Los comentarios en español los agregue yo.

Saludos.
  Responder
#4
lo de la traduccion era solo por darte una pista por si fallaba en los includes la ruta... pero voy a comprobar lo que has subido.

edito:

en principio el error de que no se encuentra el fichero se arregla cambiando:

#include <libreria.h>

por

#include "libreria.h"

(la primera es una llamada a una libreria instalada desde gestionar librerias y la segunda a un archivo) ,pero al hacer esto se supera ese punto y aparece otro error...
  Responder
#5
Sigo haciendo pruebas y buscando una libreria que funcione. Tengo varias pero ninguna me convence, aunque tendre que probarlas.
Por cierto gracias por el detalle de la declaracion del include, no lo sabia.

Saludos.
  Responder
#6
Hola,

no te está encontrado el archivo por las siguientes razones:

- Si realizas el include #include <QN8027Radio.h> el compilador irá a buscar el archivo a una de las rutas que tenga dadas de alta como includes
- Si realizas el include #include "QN8027Radio.h" el compilador buscará el archivo en una ruta absoluta y tampoco lo encontrará.

Para evitarte problemas de momento (lo lógico a futuro es que incluyas el .h y el .cpp como una librería en la ruta de las librerías) es que metas ambos archivos en el directorio del esquema, pongamos que tú tienes tu esquema en la siguiente ruta (Windows.. si estás en Linux cambia las barras, etc)

C:\Desarrollo\Arduino\Radio_QN8027

en esa carpeta tendrás los tres ficheros: el .ino, el .cpp y el .h

Tienes que realizar los includes (el que tienes en el .ino y el del .cpp) ambos con la ruta absoluta al .h, es decir:

#include "c:\Desarrollo\Arduino\Radio_QN8027\QN8027Radio.h"

Recuerda cambiar el include en los dos ficheros. Es decir, en cualquier punto que hagas referencia a el .h

Después le das a compilar... y el resultado será:

Sketch uses 202724 bytes (15%) of program storage space. Maximum is 1310720 bytes.

Global variables use 13568 bytes (4%) of dynamic memory, leaving 281344 bytes for local variables. Maximum is 294912 bytes.


Un saludo
  Responder
#7
(21-04-2019, 07:47 PM)pangodream escribió: Hola,

no te está encontrado el archivo por las siguientes razones:

- Si realizas el include #include <QN8027Radio.h> el compilador irá a buscar el archivo a una de las rutas que tenga dadas de alta como includes
- Si realizas el include #include "QN8027Radio.h" el compilador buscará el archivo en una ruta absoluta y tampoco lo encontrará.

Para evitarte problemas de momento (lo lógico a futuro es que incluyas el .h y el .cpp como una librería en la ruta de las librerías) es que metas ambos archivos en el directorio del esquema, pongamos que tú tienes tu esquema en la siguiente ruta (Windows.. si estás en Linux cambia las barras, etc)

C:\Desarrollo\Arduino\Radio_QN8027

en esa carpeta tendrás los tres ficheros: el .ino, el .cpp y el .h

Tienes que realizar los includes (el que tienes en el .ino y el del .cpp) ambos con la ruta absoluta al .h, es decir:

#include "c:\Desarrollo\Arduino\Radio_QN8027\QN8027Radio.h"

Recuerda cambiar el include en los dos ficheros. Es decir, en cualquier punto que hagas referencia a el .h

Después le das a compilar... y el resultado será:

Sketch uses 202724 bytes (15%) of program storage space. Maximum is 1310720 bytes.

Global variables use 13568 bytes (4%) of dynamic memory, leaving 281344 bytes for local variables. Maximum is 294912 bytes.


Un saludo

Gracias por tu respuesta, lo que yo habia hecho y es colocarlo en la carpeta de librerias de Arduino y funciona. Ya consegui que compile, aunque de poco me ha servido de momento, ya que el modulo al que va destinado no funciona. Vino mal y no se si vale la pena reclamar al vendedor de Aliexpress dado que cuesta 8 €.

Saludos.
  Responder