Mono ferramenta mkbundle incapaz de criar binário com queixa de que arquivo de saída está indisponível

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

Pergunta

De acordo com sugestões de este segmento em correndo C # aplicativos sans .NET eu compilei meu aplicativo usando mono. Eu construí o aplicativo original usando o mais recente Visual C # .NET Express Edition. Ele funciona muito bem em .NET no Windows. Eu, então, abriu Cygwin e navegou para a minha fonte onde eu compilei o projeto novamente, em mono usando o seguinte comando:

$ mcs <myProjectHere>.cs

Isso produz MyProject.exe, que pode ser executado a partir do Cygwin com sucesso, e pode ser executado a partir da linha de comando Janela com sucesso. Comandos utilizados são:

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

e apenas por diversão, simplesmente:

C:\...>MyProject.exe

Todo o trabalho como esperado. Então eu tentei construir o mono executável compilado em um binário estaticamente ligado usando o comando mkbundle da seguinte forma:

$ mkbundle -o MyProject MyProject.exe --deps

Este é o lugar onde as coisas começam a ir ladeira abaixo. Ela começa bem o suficiente e depois reclama que o arquivo de saída (presumivelmente, MyProject.exe) não pode ser aberto porque ele está ocupado. A saída completa de tudo isso é aqui:

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

Eu afirmo que o meu gcc toolchain unix está instalado e em bom estado, porque eu tenho sido capaz de compilar com êxito poucos aplicativos C ++ no eclipse usá-lo recentemente (embora eu acho que eu deveria estar aberta para qualquer número de problemas ... ).

Qualquer pessoa já se deparou com nada parecido com isso? Estou perplexo ...

Foi útil?

Solução

Parece que ele está tentando saída em MyProject.exe, que é o mesmo que o arquivo de entrada.

Tente executar

$ mkbundle -o ProgramOutput Program.exe --deps

Este é apenas um palpite, a propósito, já que eu não sei mkbundle.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top