Mono mkbundle Werkzeug nicht in der Lage mit Beschwerde binär zu schaffen, die Ausgabedatei nicht verfügbar ist
-
05-09-2019 - |
Frage
Wie pro Anregungen von dieses Thema auf C # laufende Anwendungen sans .NET ich habe meine App Mono zusammengestellt. Ich baute die ursprüngliche App der neueste Visual C # Express Edition. Es läuft gut auf .NET unter Windows. Ich öffnete dann Cygwin und navigiert zu meiner Quelle, wo ich das Projekt erneut kompiliert, unter mono mit dem folgenden Befehl:
$ mcs <myProjectHere>.cs
Dies erzeugt MyProject.exe, die von innen Cygwin mit Erfolg durchgeführt werden kann und aus dem Fenster Befehlszeile erfolgreich ausgeführt werden. Befehle verwendet werden:
$ mono MyProject.exe
C:\...>mono MyProject.exe
und nur zum Spaß, einfach:
C:\...>MyProject.exe
Alle Arbeiten wie erwartet. Ich habe dann versucht die mono ausführbare in eine statisch gelinkte binären kompilierten aufzubauen das mkbundle Befehl wie folgt:
$ mkbundle -o MyProject MyProject.exe --deps
Dies ist, wo die Dinge beginnen, bergab zu gehen. Es beginnt gut genug und dann beschwert sich, dass die Ausgabedatei (vermutlich, MyProject.exe) kann nicht geöffnet werden, da es voll ist. Die volle Leistung von allem ist hier:
$ mkbundle -o Program Program.exe --deps OS is: Windows Sources: 1 Auto-dependencies: True embedding: c:\Documents and Settings\bsweeney\My Documents\Visual Studio 2008 \Projects\TestConsole\TestConsole\Program.exe embedding: C:\PROGRA~1\Mono-2.2\lib\mono\2.0\mscorlib.dll Compiling: as -o temp.o temp.s gcc -mno-cygwin -g -o Program -Wall temp.c `pkg-config --cflags --libs mono|dos2 unix` temp.o /usr/lib/gcc/i686-pc-mingw32/3.4.4/../../../../i686-pc-mingw32/bin/ld: cannot op en output file Program.exe: Device or resource busy collect2: ld returned 1 exit status [Fail]
Ich behaupte, dass meine Unix-gcc-Toolchain installiert ist und in gutem Zustand, weil ich in der Lage gewesen, um erfolgreich ein paar c ++ Anwendungen in Eclipse zu kompilieren es vor kurzem mit (obwohl ich soll ich auf eine beliebige Anzahl von Problemen offen sein sollte ... ).
Wer jemals in so etwas laufen? Ich bin ratlos ...
Lösung
Es scheint, wie es zur Ausgabe in MyProject.exe
versucht, die gleich wie die Eingabedatei ist.
Versuchen Sie,
$ mkbundle -o ProgramOutput Program.exe --deps
Das ist nur eine Vermutung, nebenbei bemerkt, da ich weiß, mkbundle
nicht.