Pourquoi faire de l'impression “de faire: Rien à faire pour "all".”?
C'est un "Bonjour.c le module" et "Makefile". Après l'exécution de make
de la woking répertoire, j'obtiens le message suivant:
faire: Rien à faire pour "all".
C'est le "Bonjour.c" fichier:
#include <linux/module.h> //included for all kernel modules
#include <linux/kernel.h> //included for KERN_INFO
#include <linux/init.h> //included for __init and __exit macros
MODULE_LICENSE("GPL");
MODULE_AUTHOR("Lakshmanan");
MODULE_DESCRIPTION("A Simple Hello World module");
static int __init hello_init(void) {
printk(KERN_INFO "Hello world!\n");
return 0; //Non-zero return means that the module couldn't be
}
static void __exit hello_cleanup(void) {
printk(KERN_INFO "Cleaning up module.\n");
}
module_init(hello_init);
module_exit(hello_cleanup);
Et "Makefile":
obj-m += hello.o
all:
make -C /lib/modules/$(shell uname -r)/build M=$(PWD) modules
clean:
make -C /lib/modules/$(shell uname -r)/build M=$(PWD) clean
J'ai essayé toutes les suggestions et j'ai reçu ceci dans le terminal:
root@stupid-HP:/home/stupid/cpz/module$ pwd
/home/stupid/cpz/module
root@stupid-HP:/home/stupid/cpz/module$ ls
hello.c Makefile
root@stupid-HP:/home/stupid/cpz/module$ make
make: Nothing to be done for `all'.
root@stupid-HP:/home/stupid/cpz/module$ make clean
make: Nothing to be done for `clean'.
root@stupid-HP:/home/stupid/cpz/module$ make clean all
make: Nothing to be done for `clean'.
make: Nothing to be done for `all'.
root@stupid-HP:/home/stupid/cpz/module$ ls
hello.c Makefile
root@stupid-HP:/home/stupid/cpz/module$ make
make: Nothing to be done for `all'.
root@stupid-HP:/home/stupid/cpz/module$ vi hello.c # modified again
root@stupid-HP:/home/stupid/cpz/module$ make clean
make: Nothing to be done for `clean'.
root@stupid-HP:/home/stupid/cpz/module$ make
make: Nothing to be done for `all'.
Double Possible de faire: Rien à faire pour " all " ></a >
j'ai vérifié,il n'y a pas d'autres makefile dans le courant de travail dir.seuls deux fichiers bonjour.c et makefile. (merci pour la réponse)
Il pourrait tout simplement dire que
assurez-vous que
je vous remercie.. comme vous l'a dit, je l'ai enlevé les espaces dans le Makefile et je l'ai remplacé avec de l'ONGLET. Maintenant son travail et iam en mesure d'utiliser insmod .
j'ai vérifié,il n'y a pas d'autres makefile dans le courant de travail dir.seuls deux fichiers bonjour.c et makefile. (merci pour la réponse)
Il pourrait tout simplement dire que
hello.o
est jusqu'à ce jour. Vous pouvez exécuter make clean all
et voir si vous obtenez le message de nouveau.assurez-vous que
make -C ...
est en retrait avec un ONGLET (pas d'espaces)je vous remercie.. comme vous l'a dit, je l'ai enlevé les espaces dans le Makefile et je l'ai remplacé avec de l'ONGLET. Maintenant son travail et iam en mesure d'utiliser insmod .
OriginalL'auteur user55111 | 2015-10-02
Vous devez vous connecter pour publier un commentaire.
Faire des travaux sur la base de l'heure. Si vous souhaitez modifier certains de vos fichiers source Faire compiler, et construit l'image en conséquence. Si vous ne modifiez pas le fichier source compilateur n'a rien à voir avec votre projet. faire ne fonctionne pas comme
gcc
à compiler à chaque fois si la construction nouvelle est nécessaire ou non. C'est un des nombreux avantages de l'utilisation de votre projet.Je ne connais pas cette méthode, mais vous pouvez utiliser l'écran tactile pour modifier l'heure de timbre ou de faire nettoyer puis faire à nouveau
OriginalL'auteur incompetent
make clean
et puismake
nouveaupropre est quelque chose que vous supprimez toute version précédente, pour vous assurer d'obtenir une construction propre et n'ont pas du tout les anciens fichiers de version précédente.
OriginalL'auteur Dilip Kumar
Compilateur est tout simplement vous dire que votre code a déjà été compilé et il n'y a pas de changements dans votre code (il est à jour), il ne compile pas. Est un builtin fonction de compilateurs, si il n'y a pas de changements dans le fichier de code source, les compilateurs ne perdez pas de temps.
Utilisation
make clean
avant demake
ou de modifierHello.c
et de Construire votre projet.OriginalL'auteur LPs
Vous devez supprimer de l'espace dans votre Makefile. Dans le makefile, seule l'utilisation de l'onglet.
J'ai testé ton code et il fonctionne avec onglet
OriginalL'auteur Hoang Pham
Essayer : make clean pour supprimer le fichier exécutable (./un.out) et d'essayer de le compiler à nouveau!
Vous peut avoir quelque chose à changer dans certains fuction et ne peuvent pas le voir
OriginalL'auteur sofronas
Juste au cas où quelqu'un rencontre le même problème que moi:
Eclipse ne parvient pas à construire correctement lors de l'un de vos dossiers ayant le même nom que l'exécutable. Si c'est le cas, peu importe ce que vous faites, vous obtiendrez toujours le "rien à faire", message. La solution consiste à renommer le dossier ou le fichier exécutable. Les détails peuvent être trouvés ici.
OriginalL'auteur formerlyknownas_463035818