2017-09-19 5 views
0

Mon exécution du fichier Make échoue à chaque fois en raison d'une dépendance. Je ne veux pas overshare donc je vais essayer de partager uniquement les informations nécessaires. J'utilise GNUWin32 make pour que ma fenêtre Windows puisse l'exécuter (une contrainte à laquelle je dois faire face) et je suis capable de compiler/faire un nombre décent de fichiers dans le src \\ Framework \ ... \\%. domaine de .. \\ src \\ Framework \ ... \\%. c.Aucune règle implicite trouvée dans le fichier makefile

Il semble que tant que c'est au moins 2 dossiers profonds, le Makefile fonctionne. Ex: src \\ test.o ne compile pas mais src \\ tester \\ test.o va compiler.

Mon erreur est la suivante:

Marque: *** Aucune règle pour faire la cible 'src \\ control.o', nécessaire par 'proj.elf'. Arrêtez.

mais j'ai aussi la règle suivante qui est exécutée à partir d'une dépendance de la cible tout:

src \\% o:.. .. \\ src \\% c

qui devrait rendre src \\ control.o tant que .. \\ src \\%. C existe.


Quand j'utilise make -d all je remarque qu'il se termine par

Aucune règle implicite trouvée pour 'src \\ control.o.

Conditions préalables terminées du fichier cible 'src \\ control.o'.

Doit refaire la cible « src \\ control.o »

Si quelqu'un a une solution pour faire ce travail, je serais heureux de l'entendre!

Répondre

0

J'ai trouvé le problème. Apparemment, même GNUWin32 utilise des noms de fichiers de style Unix pour les cibles et les dépendances, mais pour utiliser la commande mkdir, vous devez utiliser des noms de fichiers de style Windows.

test/windows/o%. ../test/windows/%.c

windows mkdir test de \ \ make_this_dir \

J'espère que cette aide toute personne ayant un problème similaire .