Voici la sortie de la console dans Eclipse:
################################################################################ # Automatically-generated file. Do not edit! ################################################################################ O_SRCS := C_SRCS := S_UPPER_SRCS := S_SRCS := OBJ_SRCS := ASM_SRCS := OBJS := C_DEPS := ASM_DEPS := ELFS := LSS := AVRDUDEDUMMY := S_DEPS := SIZEDUMMY := S_UPPER_DEPS := # Every subdirectory with source files must be described here SUBDIRS := \ src \
4 Réponses :
J'ai ajouté le dossier SRC de mon projet à ma liste de répertoires dans Propriétés> Compilateur AVR> Annuaires P> dossier et essayez de compiler à nouveau. p>
dans le fichier subdir.mk, la ligne: p>
xxx pré> devrait être devenu: p>
xxx pré> Ce dossier code> src code> est déjà ajouté dans Source.mk File : p>
xxx pré> blockquote>
Ne mettez pas le fichier principal.c dans un répertoire, mettez-le en haut de son projet P>
Cela m'est arrivé aussi, en déplaçant simplement Main.cpp dans un autre dossier. p>
J'essaie de nettoyer le projet, mais le problème persiste, j'ai donc supprimé le dossier de débogage, re-compiler et fonctionne! p>
Devrait être accepté de réponse car c'est le problème, le répertoire de débogage met en cache un maquefile qui doit être reconstruit après une déménagement de fichier source.
citant Eclipse - http://help.eclipse.org/juno/index.jsp?topic=%2forg.eclipse.cdt.doc.user%2fconcepts%2fcdt_c_makefile.htm P>
Q2. Mon point de vue de la console dit aucune règle pour rendre la cible 'x'. P>
faire -k propre tout
faire: Si vous avez déjà un maquette valide, vous devrez peut-être modifier le répertoire de travail de votre construction. Le répertoire de travail par défaut de la commande Build est le répertoire racine du projet. Vous pouvez modifier cela en spécifiant un répertoire de construction alternatif dans les propriétés du projet. Ou, si votre fabricant est nommé quelque chose d'autre (p. Ex. Buildfile.mk), vous pouvez spécifier le nom en définissant la commande de construction par défaut pour faire -f buildfile.mk. P>
Si vous n'avez pas de maquillage valide, créez un nouveau fichier nommé Makefile dans le répertoire racine. Vous pouvez ensuite ajouter le contenu du fabricant d'échantillons (ci-dessus) et la modifier selon que nécessaire. P>
Pourriez-vous isoler le problème en réduisant votre maquillage au minimum i> possible pour provoquer le problème? Pour le moment, nous ne pouvons pas voir le contenu de tous ceux qui comprend, etc.
Vérifiez si $ (Objs) ou $ (user_objs) a une règle pour compiler MAIN.CC à Main.O. Il suffit de chercher "Main" dans tous les fichiers de fabrication inclus et de tracer la compilation "arborescence" afin qu'elle puisse construire le fichier principal.o. Peut-être que vous devez ajouter sucer une règle!
@Oli je suis désolé. Je viens de poster le makefile que Eclipse génère automatiquement. Pouvez-vous être plus précis sur ce que vous voulez? Je suis confus.
@Nathan: Ce que je veux dire, c'est que ce que Makefile est trop complexe pour que quiconque soit capable de déboguer sans accès à tous les fichiers inclus utilisés, ni accès à votre environnement. Votre meilleur pari est de modifier manuellement le maquillage pour isoler la cause du problème.
@Oli pour être honnête, c'est pourquoi je pose cette question ici. Je ne suis pas assez à l'aise avec des maquillages pour écrire la mienne pour ce type de projet et je voulais voir si la communauté pourrait m'aider à résoudre mon problème. Dites-moi ce que vous avez "fichiers inclus" dont vous avez besoin et je serai heureux de les poster.
Je vois que vous avez posté le contenu des fichiers inclus maintenant. Je suis un peu confus, comme
$ (objs) code> contient
./ src / main.o code>, mais le message d'erreur que vous avez posté uniquement des discussions sur
principale. o code> (sans le reste du chemin).
@Oli bonne prise. Je l'ai initialement mis dans le répertoire du projet racine par accident puis l'a déplacé. Je viens de supprimer le fichier subdir.mk dans le répertoire racine et reconstruit. Ça fonctionne maintenant. Merci!