모노 mkbundle 도구는 출력 파일을 사용할 수 없다는 불만 사항이있는 바이너리를 만들 수 없습니다.

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

문제

제안에 따라 이 스레드 C# apps sans .net을 실행하면 모노를 사용하여 앱을 컴파일했습니다. 최신 Visual C# .net Express Edition을 사용하여 원본 앱을 만들었습니다. Windows의 .NET에서 잘 실행됩니다. 그런 다음 Cygwin을 열고 다음 명령을 사용하여 모노 아래 프로젝트를 다시 컴파일 한 소스로 탐색했습니다.

$ mcs <myProjectHere>.cs

이로 인해 Cygwin 내에서 성공할 수있는 MyProject.exe가 생성되며 Window 명령 줄에서 성공적으로 실행할 수 있습니다. 사용 된 명령은 다음과 같습니다.

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

그리고 단순히 차기를 위해서만 :

C:\...>MyProject.exe

모든 것이 예상대로 작동합니다. 그런 다음 mkbundle 명령을 사용하여 다음과 같이 Mono 컴파일 실행 가능을 정적으로 연결된 바이너리로 빌드하려고했습니다.

$ mkbundle -o MyProject MyProject.exe --deps

이것은 상황이 내리막 길로 가기 시작하는 곳입니다. 충분히 시작한 다음 출력 파일 (아마도 myProject.exe)이 바쁘기 때문에 열 수 없다고 불평합니다. 그것의 전체 출력은 여기에 있습니다.

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

UNIX GCC 툴체인이 설치되고 상태가 양호하다고 주장합니다. 최근에이를 사용하여 Eclipse에서 몇 가지 C ++ 앱을 성공적으로 컴파일 할 수 있었기 때문에 (여러 가지 문제에 열려 있어야한다고 생각했지만).

누구든지 이와 같은 사람을 만나 본 적이 있습니까? 난 그만 둔다 ...

도움이 되었습니까?

해결책

출력하려고하는 것 같습니다 MyProject.exe, 입력 파일과 동일합니다.

달리기를 시도하십시오

$ mkbundle -o ProgramOutput Program.exe --deps

나는 모르겠 기 때문에 이것은 단지 추측입니다. mkbundle.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top