Comment compiler un programme C avec faire sur Mac OS X Terminal
J'ai récemment acheté un Macbook Pro et je veux faire un codage en C avec le terminal.
Je suis capable de compiler le code avec cette commande:
gcc filename.c –o filename
Mais je veux le compiler avec la commande make parce que je sais que c'est la meilleure pratique, et je veux suivre les meilleures pratiques.
make filename cc filename.c -o filename
Cette commande me donne le résultat suivant:
make: Nothing to be done for `ex01'.
make: *** No rule to make target `cc'. Stop.
Noter que j'ai installé Xcode Xcode et développeur d'outils de ligne de commande
et dans le dossier /usr/bin je vois le faire et makefile propriétés.
Quelqu'un aurait-il le moindre indice sur ce que je devrais faire pour être en mesure de compiler avec les makefile et cc argument?
OriginalL'auteur Raphael Teubner | 2014-10-16
Vous devez vous connecter pour publier un commentaire.
Créer un fichier appelé
Makefile
sur le même chemin avec ce contenu:Puis exécutez:
Bien sûr, remplacer
appname
avec le nom de votre programmeRemarque: Il doit y avoir un "onglet" (pas d'espaces) avant
et
Que la syntaxe de ligne de commande n'est pas pris en charge par toute
make
, partout et toujours, sur n'importe quel système. Ne sais pas où vous l'avez obtenu à partir mais à chaque fois que vous avez fait, vous devriez éviter d'utiliser ça comme une référence dans l'avenir. Aussi, je ne comprends pas l'énoncé de la réponse [il faut] ligne vide avant l'affectation de variable: il n'y a aucune exigence pour que, que je sache.oups, vous avez raison, il n'est pas nécessaire de mettre une ligne vide, édité grâce
Oui vous avez raison je ne vais pas l'utiliser, j'ai été un peu confus avec ce :s . En tout cas merci pour l'explication, de l'apprécier 🙂 .
OriginalL'auteur Keine Lust
J'ai été à la suite de la même tutoriel, et a couru dans un problème similaire.
Je ne sais pas exactement ce que vous avez fait, mais je pense que l'erreur a été exécutant la commande incorrect. Vous avez tapé
make filename cc filename.c -o filename
, mais le tutoriel, nous a enseigné à utilisermake filename
, sans lecc filename.c -o filename
partie. Peut-être vous lire une ancienne version?Et,
make filename
fonctionne très bien, Vous n'avez pas besoin d'un Makefile.Pour info, Voici comment j'ai rencontré le problème et comment je l'ai résolu:
tapé le code ci-dessous, et enregistré dans un fichier nommé "ex1"
make ex1
dans le terminalmake: Nothing to be done for 'ex1'.
Comme vous pouvez le voir, mon erreur était que le nom de fichier du code source doit être ex1.c, PAS ex1.
Et comme je l'ai modifier le nom de fichier ex1.c, et exécuté
make ex1
, il a travaillé.OriginalL'auteur kly