ERREUR: make: *** Pas de règle pour faire de la cible principale.c', nécessaires principale.o'. Arrêter

CC= gcc 

CFLAGS= -D__XMLSEC_FONCTION__=__FONCTION__ -DXMLSEC_NO_XSLT=1 \ 
-DXMLSEC_NO_XKMS=1 -I/usr/include/libxml2 -DXMLSEC_CRYPTO_DYNAMIC_LOADING=1 \ 
-DXMLSEC_CRYPTO=\"openssl\" -DUNIX_SOCKETS -DXML_SECURITY -DDEBUG \ 
-I/usr/local/include/xmlsec1 -lxmlsec1 

LDFLAGS= -lcrypto -I/usr/include/libxml2 -I/usr/local/include/xmlsec1 \ 
-lxmlsec1 -lprotobuf-c 

valeur par défaut: shr 
#pb est synonyme de protobuf fichier 

shr: principal.o fichier2.o fichier3.pb-c.o 
$(CC) $(CFLAGS) -o shr principal.o fichier2.o fichier3.pb-c.o 

principal.o: main.c en-tête.hfile2.h fichier3.h 
$(CC) $(CFLAGS) -c main.c 

fichier2.o: fichier2.c fichier2.h 
$(CC) $(CFLAGS) -c axisuid_auth.c 

fichier3.pb-c.o: fichier3.pb-c.c fichier3.h 
$(CC) $(CFLAGS) -c fichier3.c 

nettoyer: 
$(RM) shr *.o *~ 
  • Vous n'avez pas de fichier nommé main.c dans le répertoire dans lequel vous travaillez.
  • tous les .c & .h les fichiers sont dans le dossier src.
  • make ne pas obtenir quelque chose de mal. Si elle se plaint d'un fichier manquant, puis sur il y a un fichier manquant.
  • Utilisation remake -x pour déboguer votre Makefile. Je soupçonne que vous n'êtes pas en cours d'exécution make dans le src répertoire. Ou de la mention src/main.c etc... (avec le src/ répertoire donné explicitement) dans le Makefile
  • s/il y a un fichier manquant/il n'y a pas un fichier où vous avez dit make il est/
  • Vérifiez que vous utilisez ONGLETS correctement, plutôt que de les espaces.
  • Aussi, ajouter -Wall à votre CFLAGS. De demander à tous les avertissements de votre compilateur est toujours utile.
  • C'est un bêtement agressive utilisation de downvoting à l'encontre d'un nouvel utilisateur. Évidemment il y a un main.c et il n'est pas d'être pris pour quelque raison que ce soit. Ne vous contentez pas jeter le message d'erreur de retour à la mec.
  • après le débogage à l'aide de remake : par défaut le fichier n'existe pas
  • prenez le temps de lire à nouveau le make de GNU de documentation gnu.org/software/make/manual/html_node/index.html ; il y est quelque chose de fondamental sur make que vous ne comprenez pas, donc vous ne donnez pas assez d'informations pertinentes (ce que votre arborescence des sources de la structure? à partir de quel répertoire vous exécutez make, etc...) pour nous permettre de vous aider.
  • J'ai tendance à être en désaccord avec votre opinion contre la baisse de vote. La question est très mal formulée, et ne donnent pas assez d'indices pour tout make d'experts pour répondre. (C'est pourquoi je downvoted la question, mais je l'ai fait essayer à fournir de l'aide thru commentaires).

InformationsquelleAutor 1010 | 2013-04-16