Saltar al contenido

error fatal: sqlite3.h: No existe tal archivo o directorio

No olvides que en las ciencias un error casi siempre tiene más de una soluciones, así que te mostramos lo más óptimo y eficiente.

Solución:

Resolví este problema con

$ sudo apt-get install libsqlite3-dev

(debian sibilancias)

No proporciona suficiente información para decir con certeza: en particular, no dice dónde está el sqlite3.h El archivo en realidad está en su sistema de archivos. Sin embargo, según lo que muestra, sospecho que necesita cambiar el INCLUDES variable, a esto:

INCLUDES = lib/sqlite

(o bien cambiar el #include en tu código para ser #include "sqlite/sqlite3.h"). Esto supone que el archivo de encabezado está en el mismo directorio que el sqlite3.c archivo fuente.

Tenga en cuenta que esta es una implementación mala/confusa. Deberías estar poniendo el -I bandera en el INCLUDES variable:

INCLUDES = -Ilib/sqlite
    ...
$(PROGRAM): $(SOURCE)
        $(CC) $(SOURCE) $(INCLUDES) -o$(PROGRAM) $(LDFLAGS)

INCLUDES es plural, lo que puede llevar a alguien a creer que podría agregar varios directorios en esa variable, pero si lo deja como lo tiene, esto causará extraños errores de compilación:

INCLUDES = lib/sqlite another/dir
    ...
$(PROGRAM): $(SOURCE)
        $(CC) $(SOURCE) -I$(INCLUDES) -o$(PROGRAM) $(LDFLAGS)

añadirá las banderas -Ilib/sqlite another/dir… observe cómo el segundo directorio no tiene un -I opción.

Por supuesto, por convención deberías estar usando CPPFLAGS (para banderas de preprocesador C), no INCLUDESpero… 🙂

Comentarios y calificaciones

Te invitamos a añadir valor a nuestro contenido asistiendo con tu experiencia en las notas.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *