모노의 AC# 파일은 명령을 사용하여 컴파일할 수 있습니다 gmcs
. 그러면 파일이 생성됩니다 hello.exe
.
$ gmcs hello.cs
$ ls
hello.cs hello.exe
$ ./hello.exe
Hello from Mono!
Linux 실행 파일을 생성하기 위해 이 명령을 시도했지만 오류가 발생했습니다.
$ gmcs /t:exe hello.cs /out:hello
Unhandled Exception: System.ArgumentException: Module file name 'hello' must have file extension.
실행하고 원하는 출력을 얻기 위해 실행할 수 있도록 독립 실행형 실행 파일을 만들고 싶습니다.
$ ./hello
Hello from Mono!
나는 다음과 같은 솔루션을 언급 한 솔루션을 검색하고 찾았습니다.MK번들:
$ mkbundle -o hello hello.exe --deps
Sources: 1 Auto-dependencies: True
embedding: /home/ed/Projects/hello_world/hello.exe
embedding: /mono/lib/mono/1.0/mscorlib.dll
Compiling:
as -o /tmp/tmp54ff73e6.o temp.s
cc -o hello -Wall temp.c `pkg-config --cflags --libs mono` /tmp/tmp54ff73e6.o
Done
$ ls -l
total 3
-rwxr-xr-x 1 ed users 1503897 2005-04-29 11:07 hello
-rw-r--r-- 1 ed users 136 2005-04-29 11:06 hello.cs
-rwxr-xr-x 1 ed users 3072 2005-04-29 11:06 hello.exe
이 유틸리티는 내 Mono 설치에는 없는 것 같습니다. 찾아보니 mono-devel
포장에도 이런 내용이 있더군요. 이 패키지를 설치한다는 것은 약 82개의 다른 패키지를 설치한다는 것을 의미합니다. 내 목표는 어느 시점에서든 모노 설치를 최소화하는 것입니다.
mkbundle
독립적으로 설치하는 방법이 있나요 ?
답변1
나는 참을성이 없어서 mono-2.0-devel
패키지에 mkbundle이 있을 수도 있다고 생각했습니다. 그래서 저는 mono-2.0-devel
18개의 추가 패키지만 필요로 하는 설치를 진행했습니다 . 입력 mkb
하고 Tab을 누르면 가 표시됩니다 mkbundle2
.
나는 시도했다:
$ mkbundle2 -o hello hello.exe --deps
OS is: Linux
Sources: 1 Auto-dependencies: True
embedding: /home/minato/Projects/Practice/mono/hello.exe
embedding: /usr/lib/mono/2.0/mscorlib.dll
Compiling:
as -o temp.o temp.s
cc -ggdb -o hello -Wall temp.c `pkg-config --cflags --libs mono` temp.o
Done
$ ls
hello hello.cs hello.e hello.exe
$ ./hello
Hello from Mono!
그것이 나에게 먼저 필요한 것입니다.
이 command-not-found
도구를 제공해 주셔서 감사합니다.