Wie kompilieren Sie ein C-Programm mit machen, auf dem Mac OS X Terminal
Ich kaufte vor kurzem ein Macbook Pro und ich will ein paar Programmierung in C mit der Klemme.
Ich bin in der Lage, den code zu kompilieren mit folgendem Befehl:
gcc filename.c –o filename
Aber ich möchte, um es zu kompilieren mit dem Befehl machen, weil ich weiß, es ist am besten Praxis, und ich will Folgen best practice.
make filename cc filename.c -o filename
Dieser Befehl gibt mir folgende Ausgabe:
make: Nothing to be done for `ex01'.
make: *** No rule to make target `cc'. Stop.
Beachten Sie, dass ich habe installiert Xcode und Xcode developer command line tools
und in den Ordner /usr/bin ich sehe die machen und makefile Eigenschaften.
Hat jemand einen Tipp auf was sollte ich tun, um in der Lage sein zu kompilieren mit makefile und cc argument?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Erstellen Sie eine Datei namens
Makefile
auf dem gleichen Weg mit diesem Inhalt:Führen:
Natürlich ersetzen
appname
mit dem Namen Ihres ProgrammsHinweis: Es muss ein "tab" (keine Leerzeichen), bevor
und
make
, überall, immer, auf jedem system. Weiß nicht, wo Sie bekam es von aber wo auch immer Sie getan haben, sollten Sie es vermeiden, die als Referenz in der Zukunft. Auch verstehe ich nicht die Aussage in der Antwort auf [es muss eine] leere Zeile vor die variable Zuweisung: es gibt keine Voraussetzung, für, die, die ich kenne.War ich nach der gleichen tutorial, und lief in ein ähnliches problem.
Ich weiß nicht, was genau Sie Tat, aber ich glaube, der Fehler mit der falschen Befehl. Sie tippte
make filename cc filename.c -o filename
, aber das tutorial hat uns angewiesen, verwendenmake filename
ohnecc filename.c -o filename
Teil. Vielleicht haben Sie gelesen eine alte version?Und
make filename
funktioniert, Sie brauchen nicht ein Makefile.FYI, Hier ist, wie ich lief in das problem und wie ich es gelöst:
tippte den code unten, und gespeichert in einer Datei namens "ex1"
make ex1
im terminalmake: Nothing to be done for 'ex1'.
Wie Sie sehen können, mein Fehler war, dass der Dateiname der Quellcode sollte ex1.c, NICHT ex1.
Und wie kann ich das ändern den Namen der Datei zu ex1.c, und ausgeführt
make ex1
, es funktionierte.