erreur fatale: sqlite3.h: aucun fichier ou répertoire de ce type
Je suis en train de construire une application C par le biais de la compilation croisée pour un Zynq conseil d'administration (architecture ARM). Quand je tape faire sans mentionner le BRAS d'arc, il fonctionne très bien sur mon ordinateur portable. Mais dès que j'ai modifier le fichier Makefile, j'obtiens un message d'erreur disant:
main.c:20:43: fatal error: sqlite3.h: No such file or directory
#include "sqlite3.h" //library for sqlite3
^
compilation terminated.
make: *** [ws_temp_server] Error 1
Le Makefile ressemble à ceci:
SOURCE=lib/base64_enc.c lib/websocket.c lib/sha1.c lib/sqlite/sqlite3.c main.c
CC = arm-xilinx-linux-gnueabi-gcc
LDFLAGS=-lpthread -ldl
INCLUDES=lib/
PROGRAM=ws_temp_server
all: $(PROGRAM)
$(PROGRAM): $(SOURCE)
$(CC) $(SOURCE) -I$(INCLUDES) -o$(PROGRAM) $(LDFLAGS)
clean:
rm $(PROGRAM)
Ce que je fais mal? Merci pour toute aide que je peux obtenir.
source d'informationauteur user2263752
Vous devez vous connecter pour publier un commentaire.
Vous ne fournissent pas suffisamment d'informations pour le dire: en particulier, vous ne dites pas où le
sqlite3.h
fichier est sur votre système de fichiers. Cependant, basé sur ce que vous montrez je soupçonne que vous avez besoin de changer laINCLUDES
variable, pour cela:(ou d'autre changement de la
#include
dans votre code pour être#include "sqlite/sqlite3.h"
). C'est en supposant que le fichier d'en-tête est dans le même répertoire que lesqlite3.c
fichier source.Remarque que c'est une mauvaise/confus mise en œuvre. Vous devriez mettre la
-I
drapeau dans leINCLUDES
variable:INCLUDES
est le pluriel qui peut amener quelqu'un à croire qu'ils pourraient ajouter plusieurs répertoires dans cette variable, mais si vous laissez de la manière que vous l'avez, cela va provoquer d'étranges erreurs du compilateur:va ajouter les drapeaux
-Ilib/sqlite another/dir
... notez comment le deuxième répertoire ne dispose pas d'un-I
option.Bien sûr, par convention, vous devriez être en utilisant
CPPFLAGS
(pour le préprocesseur C drapeaux), pasINCLUDES
mais... 🙂J'ai eu ce problème fixe avec
(debian wheezy)
HTH Quelqu'un