Wie schreiben Sie ein makefile für C#?

Ich habe ein einfaches C# - Programm, das ausgeführt werden muss über die Befehlszeile in Linux durch mono. Hier ist, was ich für mein makefile so weit. Es basiert auf einer C++ - makefile-fand ich für ein anderes Programm. Ich habe versucht zu modifizieren, um die Arbeit mit meinem C# - Programm, aber es sagt, bestimmte Quell-Dateien nicht gefunden werden konnten.

.PHONY : build view clean

build : test
@# do nothing

test : test.o
gmcs test test.o

test.o : test.cs
gmcs test.cs

view :
@\less test.cs

clean :
-\rm *.exe
-\rm test

Ich habe noch nie mit makefiles gearbeitet, bevor also ich weiß wirklich nicht, was ich falsch mache. Es gibt nur eine Datei in meinem gesamten Projekt-und das ist nur test.cs. Das endgültige Ziel dieser ist es in der Lage sein, um führen Sie das Programm durch Eingabe in die Befehlszeile:

./test

Und es sollte bereinigen .exe-Dateien generiert, die zu.

  • was ist die genaue Fehlermeldung, die Sie bekommen? was ist die Ausgabe von make test?
  • Die Ausgabe ist: gmcs test.cs gmcs test.o-error CS2001: Quelle-Datei 'test' konnte nicht gefunden werden error CS2001: Quelle-Datei 'test.o' konnte nicht gefunden werden Compilation failed: 2 Fehler, 0 Warnungen machen: *** [test] Fehler 1
  • Ich glaube nicht, dass das problem mit dem makefile. Sind Sie sicher, dass Sie mit gmcs Recht? Nach mono-project.com/Mono_Basics Sie von dem ersten Befehl, der ausgeführt wird, bekommen Sie eine exe-Datei, nicht ein .o-Datei.
  • Ich habe versucht, ändern alle .o Dateien .exe-Datei, aber ich bekomme den Fehler "test.exe" ist eine binäre Datei und nicht um eine text-Datei zusätzlich zu den vorherigen Fehler.
  • können Sie MonoDevelop? Jeder Weg, klar, das problem ist nicht das makefile, aber die Art und Weise Sie gmcs. versuchen Sie, kompilieren Sie den code, ohne eine make-Datei, bis Sie die richtigen Befehle.
  • Der code wird kompiliert und läuft einwandfrei, alles was ich jetzt brauche ist eine Art make-file. Was ich oben nur auf Basis einer C++ - makefile, aber ich weiß wirklich nicht, was ein C# - makefile Aussehen sollte.
  • lassen Sie uns weiter, diese Diskussion im chat

InformationsquelleAutor Generalkidd | 2013-12-05
Schreibe einen Kommentar