Mono herramienta mkbundle incapaz de crear binario con la queja de que el archivo de salida no está disponible

StackOverflow https://stackoverflow.com/questions/558707

Pregunta

De acuerdo con las sugerencias de los este hilo en ejecutar aplicaciones C # .NET sans he compilado mi aplicación con mono. Yo construí la aplicación original utilizando la última Visual C # .NET Express Edition. Funciona muy bien en .NET en Windows. entonces abrí Cygwin y navegado a mi fuente, donde he realizado el proyecto de nuevo, bajo el mono con el siguiente comando:

$ mcs <myProjectHere>.cs

Esto produce MyProject.exe, que se puede ejecutar desde dentro de Cygwin con éxito, y se puede ejecutar desde la línea de comandos de la ventana con éxito. Comandos utilizados son:

$ mono MyProject.exe
C:\...>mono MyProject.exe

y sólo por diversión, simplemente:

C:\...>MyProject.exe

Todo el trabajo como se esperaba. Luego trató de construir el mono ejecutable compilado en un binario enlazado estáticamente con el comando mkbundle de la siguiente manera:

$ mkbundle -o MyProject MyProject.exe --deps

Aquí es donde las cosas empiezan a ir cuesta abajo. Comienza lo suficientemente bien y luego se queja de que el archivo de salida (presumiblemente, MyProject.exe) no se puede abrir porque está ocupado. La salida completa de todo esto es que aquí:

    $ 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]

Yo reclamo que está instalado gcc mi cadena de herramientas de Unix y en buenas condiciones, ya que he sido capaz de compilar con éxito unas pocas aplicaciones ++ c en Eclipse usando recientemente (aunque se supone que debería estar abierto a cualquier número de problemas ... ).

Cualquiera que he topado con algo como esto? Estoy perplejo ...

¿Fue útil?

Solución

Parece como si estuviera tratando de salida en MyProject.exe, que es el mismo que el de entrada.

Trate de ejecutar

$ mkbundle -o ProgramOutput Program.exe --deps

Esto es sólo una suposición, por cierto, ya no sé mkbundle.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top