MS-Windows에서 Emacs 마스터 브랜치 (일명 트렁크)를 구축하는 방법


11

나는 오늘 급락하여 MS-Windows를위한 가장 최근의 Emacs 마스터 브랜치 개발자 빌드 (일명 Emacs Trunk) 빌드를 시작했습니다.

오래된 블로그를 발견하고 절차를 밟았으며 특정 방법이 더 이상 지원되지 않는다는 오류 메시지 만 표시됩니다. 오류 메시지는 다음과 같습니다 .../emacs/nt/INSTALL.. Emacs 구축을위한 인프라가 이미 설치 / 구성되어 있다면이 모든 것이 훌륭합니다.

필요한 도구가 무엇인지, MS-Windows에서 Emacs를 구축하기 위해 특정 눈으로 도구를 설치 / 구성하는 방법을 설명하는 1, 2, 3 단계가 있으면 편리합니다.

자세한 글을 작성하고자하는 사람은 언제든지 답변을 게시하십시오. 그렇지 않다면, 어떻게해야하는지 알아 내면 직접 작성하겠습니다. 추가로드 블록을 만나고 중간에 버그 보고서를 제출했습니다. 아직 나인지 또는 버그인지 모르겠습니다. https://debbugs.gnu.org/cgi/bugreport.cgi? 버그 = 21582

초보 프로그래머 나 자신과 같은 애호가 (무역으로 프로그래머가 아닌)가 사용할 수있는 "치트 시트"가 있다면 더 많은 사람들이 자신의 Emacs를 구축하려는 경향이 있다고 생각합니다.


필자는 Windows에서 여러 가지 방법으로 Emacs를 구축 할 수 있다고 생각합니다 (예 : MingW / MS VCC, 아마도 clang). 필요한 라이브러리 목록을 찾을 수 있습니다 (많은 것들이 있습니다) emacswiki.org/emacs / BuildingEmacsWithMinGW 그러나이 정보는 확실히 (거의 10 년 정도 정도 일 것입니다!)
wvxvw

64 비트 빌드의 경우 sourceforge.net/p/emacsbinw64/wiki/의 emacsbinw64에서 잘 작성되었습니다 . MSYS2 및 MinGW-w64를 사용합니다. 이 옵션도 포함하도록 nt / INSTALL 노트를 업데이트해야합니까?
Brian Burns

@ bburns.km-링크 주셔서 감사합니다. 64 비트를 구축하는 방법이 궁금했지만,이를 알아내는 데 많은 시간을 투자 할 자유 시간이 없었습니다. 앞으로는 1, 2, 3 단계 또는 고급 프로그래머가 누락 된 공백을 채우는 방법을 알고있는 개요인지 확인하기 위해 링크를 확인하십시오. nt / INSTALL과 같은 명령은 기본적으로 나 자신과 같은 초보자에게는 쓸모가 없습니다. 프로그래머에게는 의미가 있지만 사실상 나에게는 아무 의미가 없습니다. 반면에, 5 단계는 실제로 누구나 1, 2, 3입니다. 따라갈 수 있습니다.
lawlist December

@lawlist 네, 좋은 글입니다. 1 년 또는 2 년 전에 32 비트 빌드를 시도했지만 문제가 발생했거나 길을 잃었습니다. 누군가 소스에서 물건을 만드는 데 익숙하지 않은 사람에게는 상당히 복잡하다고 말합니다. 그러나 emacsbinw64 명령어는 조금 더 단순하고 잘 작동했습니다. 몇 시간 만 걸 으면 작동합니다. nt / INSTALL doc 업데이트에 대해 devlist에 물어볼 것입니다-32 비트 및 64 비트 섹션이있을 수 있습니다. 나는 문서를 쓰기 시작했지만 emacsbinw64 명령에 너무 많이 추가하지는 않았지만 거기에서 사용될 수 있음을 깨달았습니다.
Brian Burns

답변:


9

사용자 ../emacs/nt/INSTALL는 Emacs 소스 코드에 포함 된 전체 내용을 읽는 것이 좋습니다 .


빠른 시작-5 가지 쉬운 단계 :

이 답변은 WindowsXP--SP3에서 테스트되었습니다. 설치 경로는 사용자의 개별 환경 설정에 따라 조정해야합니다. 이 예에서 :

  • 데스크탑은 다음과 같습니다. C:\Documents and Settings\lawlist\Desktop

  • git설치는 다음과 같습니다 C:\git

  • MinGW설치는 다음과 같습니다 C:\mingw

  • Emacs 마스터 브랜치의 git 다운로드 위치는 다음과 같습니다. C:\Documents and Settings\lawlist\Desktop\emacs

  • Emacs 설치 대상은 다음과 같습니다. C:\Documents and Settings\lawlist\Desktop\trunk

1 단계 : 설치 git하고 설치하는 동안 "있는 그대로 체크 아웃, 그대로 커밋"을 선택하십시오.

https://git-scm.com/download/win

힘내 -2.5.3-32-bit.exe

설치 프로그램을 실행하십시오.

다음

다음

표준 설치 디렉토리는 C:\Program Files\Git이지만 대신 선택했습니다. c:\git

구성 요소 선택 : 기본값은 괜찮지 만 대신 아무것도 선택하지 않았습니다.

시작 메뉴 폴더를 선택하십시오 : 기본값은 괜찮습니다. 비트 대신 폴더를 만들지 않기로 선택했습니다.

PATH 환경 조정 : 기본값은 괜찮습니다 : 배쉬의 Git 만 사용하십시오.

;; 다음 섹션에서는 기본 설정 이외의 설정에주의를 기울이십시오 (Emacs 버그 # 21582 참조).

줄 끝 변환 구성 : Emacs는 기본적으로 "현재 상태 그대로 체크 아웃, 그대로 그대로 커밋"설정이 필요합니다

Git Bash와 함께 사용할 터미널 에뮬레이터 구성 : 기본값은 괜찮음 : MinTTY 사용 (MSys2의 기본 터미널)

실험적인 성능 조정 구성 : "파일 시스템 캐싱 사용"을 선택하지 않았습니다.

완료 [필요한 경우 릴리스 정보보기]

참고 : autogen.sh(그리고 아마도 일부 타사 프로그램)을 필요로 git절대 경로를 사용하지 않고 (들)을 실행 호출 할 수 있도록 설정하는 PATH를. 이 답변의 저자는 절대 경로를 사용하고 PATH를 수정하지 않는 것을 선호합니다. 그러나 대부분의 사람들은 현재와 미래의 세션에 대한 PATH 수정을 선호합니다. 예를 들어 Windows XP의 경우 PATH는 제어판 / 시스템 속성 / 고급 탭 / 환경 변수 버튼에서 설정할 수 있으며 사용자가 사용자 변수 또는 시스템을 설정해야하는지에 대한 두 가지보기 / 의견이있는 것으로 보입니다. 변수-경로는 공백없이 세미콜론으로 구분됩니다. 이 답변은 단순히 아래에 export설명 된 대로 세션 기간 동안 PATH를 설정합니다. 이맥스 autogen.shgit PATH에서 명령을 찾을 수없는 경우 불평합니다.

2 단계 : 설치MinGW

http://www.mingw.org/wiki/Getting_Started

mingw-get-setup.exe

c:\mingw\bin\mingw-get install mingw32-base

c:\mingw\bin\mingw-get install msys-base

c:\mingw\bin\mingw-get install autoconf

c:\mingw\bin\mingw-get install automake

c:\mingw\bin\mingw-get install msys-coreutils

c:\mingw\bin\mingw-get remove mingw32-libiconv

c:\mingw\bin\mingw-get install "libiconv=1.13.1-1"

c:\mingw\msys\1.0\msys.bat

mount c:/mingw /mingw

3 단계 : 다음 ezwinports압축 패키지를 다운로드 하고 루트 mingw디렉토리로 추출하십시오 .

https://sourceforge.net/projects/ezwinports/files/

;; 다음 ezwinports 패키지를 모두 압축 해제 c:/mingw하여 중복을 덮어 씁니다.

cairo-1.12.16-w32-bin.zip

gdk-pixbuf-2.30.2-w32-bin.zip

giflib-5.1.0-w32-bin.zip

glib-2.38.2-w32-bin.zip

gnutls-3.3.11-w32-bin.zip

jpeg-v9a-w32-bin.zip

libpng-1.6.12-w32-bin.zip

librsvg-2.40.1-2-w32-bin.zip

libtasn1-4.2-w32-bin.zip

libxml2-2.7.8-w32-bin.zip

libXpm-3.5.11-2-w32-bin.zip

nettle-2.7.1-w32-bin.zip

p11-kit-0.9-w32-bin.zip

pixman-0.32.4-w32-bin.zip

pkg-config-0.28-w32-bin.zip

tiff-4.0.3-w32-bin.zip

zlib-1.2.8-2-w32-bin.zip

4 단계 : git-bash쉘을 사용하여 최신 Emacs 마스터 브랜치 소스 파일을 다운로드하십시오 .

c:\git\git-bash.exe

cd /c/docume~1/lawlist/desktop/

git clone -b master git://git.sv.gnu.org/emacs.git

exit

5 단계 : Emacs 마스터 브랜치를 빌드하고 완료되면 .dll 파일을 복사합니다.

;; 일반 명령 프롬프트 열기

c:\mingw\msys\1.0\msys.bat

export PATH=$PATH:/c/git/bin

cd /c/docume~1/lawlist/desktop/emacs

./autogen.sh

./configure --prefix=/c/docume~1/lawlist/desktop/trunk

make

make install

;; copy the following files to the `/bin` directory where `emacs.exe` is located.

cp /c/mingw/bin/libXpm-noX4.dll /c/docume~1/lawlist/desktop/trunk/bin/libXpm-noX4.dll

cp /c/mingw/bin/libpng16-16.dll /c/docume~1/lawlist/desktop/trunk/bin/libpng16-16.dll

cp /c/mingw/bin/libtiff-5.dll /c/docume~1/lawlist/desktop/trunk/bin/libtiff-5.dll

cp /c/mingw/bin/libjpeg-9.dll /c/docume~1/lawlist/desktop/trunk/bin/libjpeg-9.dll

cp /c/mingw/bin/libgif-7.dll /c/docume~1/lawlist/desktop/trunk/bin/libgif-7.dll

cp /c/mingw/bin/librsvg-2-2.dll /c/docume~1/lawlist/desktop/trunk/bin/librsvg-2-2.dll

cp /c/mingw/bin/libgdk_pixbuf-2.0-0.dll /c/docume~1/lawlist/desktop/trunk/bin/libgdk_pixbuf-2.0-0.dll

cp /c/mingw/bin/libglib-2.0-0.dll /c/docume~1/lawlist/desktop/trunk/bin/libglib-2.0-0.dll

cp /c/mingw/bin/libgobject-2.0-0.dll /c/docume~1/lawlist/desktop/trunk/bin/libgobject-2.0-0.dll

cp /c/mingw/bin/libxml2-2.dll /c/docume~1/lawlist/desktop/trunk/bin/libxml2-2.dll

cp /c/mingw/bin/zlib1.dll /c/docume~1/lawlist/desktop/trunk/bin/zlib1.dll

의 전체 내용을 압축 풀기 gnutls-3.3.11-w32-bin.zipC:\Documents and Settings\lawlist\Desktop\trunk


수동 설치 -MinGW / MSYS / EZwinports

MinGW / MSYS / EZwinports의 수동 설치에 관심이있는 모험가들의 영혼을 위해, 다음은 Windows XP에서이 작성자가 기본적으로 사용 가능한 다음 구성 옵션으로 성공적인 32 비트 빌드를 작성하는 데 사용하는 파일입니다. 설정 및 구성은 개별 사용자의 개인 취향에 따라 다르며이 답변의 범위를 벗어납니다.

Configured for 'i686-pc-mingw32'.
Where should the build process find the source code?    .
What compiler should emacs be built with?               gcc -std=gnu99  -g3 -O 2 -gdwarf-2
Should Emacs use the GNU version of malloc?             no
  (The GNU allocators don't work with this system configuration.)
Should Emacs use a relocating allocator for buffers?    no
Should Emacs use mmap(2) for buffer allocation?         yes
What window system should Emacs use?                    w32
What toolkit should Emacs use?                          none
Where do we find X Windows header files?                NONE
Where do we find X Windows libraries?                   NONE
Does Emacs use -lXaw3d?                                 no
Does Emacs use -lXpm?                                   yes
Does Emacs use -ljpeg?                                  yes
Does Emacs use -ltiff?                                  yes
Does Emacs use a gif library?                           yes
Does Emacs use a png library?                           yes
Does Emacs use -lrsvg-2?                                yes
Does Emacs use cairo?                                   no
Does Emacs use imagemagick?                             no
Does Emacs support sound?                               yes
Does Emacs use -lgpm?                                   no
Does Emacs use -ldbus?                                  no
Does Emacs use -lgconf?                                 no
Does Emacs use GSettings?                               no
Does Emacs use a file notification library?             yes (w32)
Does Emacs use access control lists?                    yes
Does Emacs use -lselinux?                               no
Does Emacs use -lgnutls?                                yes
Does Emacs use -lxml2?                                  yes
Does Emacs use -lfreetype?                              no
Does Emacs use -lm17n-flt?                              no
Does Emacs use -lotf?                                   no
Does Emacs use -lxft?                                   no
Does Emacs directly use zlib?                           yes
Does Emacs use toolkit scroll bars?                     yes

이즈 윈 포트

cairo-1.12.16-w32-bin.zip
gdk-pixbuf-2.30.2-w32-bin.zip
giflib-5.1.0-w32-bin.zip
glib-2.38.2-w32-bin.zip
gnutls-3.3.11-w32-bin.zip
jpeg-v9a-w32-bin.zip
libXpm-3.5.11-2-w32-bin.zip
libpng-1.6.12-w32-bin.zip
librsvg-2.40.1-2-w32-bin.zip
libtasn1-4.2-w32-bin.zip
libxml2-2.7.8-w32-bin.zip
nettle-2.7.1-w32-bin.zip
p11-kit-0.9-w32-bin.zip
pixman-0.32.4-w32-bin.zip
pkg-config-0.28-w32-bin.zip
tiff-4.0.3-w32-bin.zip
zlib-1.2.8-2-w32-bin.zip

MINGW

autoconf-10-1-mingw32-bin.tar.lzma
autoconf-10-1-mingw32-lic.tar.lzma
autoconf2.1-2.13-4-mingw32-bin.tar.lzma
autoconf2.5-2.68-1-mingw32-bin.tar.lzma
automake-4-1-mingw32-bin.tar.lzma
automake-4-1-mingw32-lic.tar.lzma
automake1.10-1.10.2-1-mingw32-bin.tar.lzma
automake1.11-1.11.1-1-mingw32-bin.tar.lzma
automake1.4-1.4p6-1-mingw32-bin.tar.lzma
automake1.5-1.5-1-mingw32-bin.tar.lzma
automake1.6-1.6.3-1-mingw32-bin.tar.lzma
automake1.7-1.7.9-1-mingw32-bin.tar.lzma
automake1.8-1.8.5-1-mingw32-bin.tar.lzma
automake1.9-1.9.6-3-mingw32-bin.tar.lzma
binutils-2.25.1-1-mingw32-bin.tar.xz
gcc-core-4.8.1-4-mingw32-bin.tar.lzma
gcc-core-4.8.1-4-mingw32-dev.tar.lzma
gcc-core-4.8.1-4-mingw32-dll.tar.lzma
gcc-core-4.8.1-4-mingw32-lic.tar.lzma
gdb-7.6.1-1-mingw32-bin.tar.lzma
gmp-5.1.2-1-mingw32-dll.tar.lzma
libcharset-1.13.1-1-mingw32-dll-1.tar.lzma
libiconv-1.13.1-1-mingw32-bin.tar.lzma
libiconv-1.13.1-1-mingw32-dev.tar.lzma
libiconv-1.13.1-1-mingw32-dll-2.tar.lzma
libiconv-1.13.1-1-mingw32-doc.tar.lzma
libiconv-1.13.1-1-mingw32-lic.tar.lzma
libintl-0.17-1-mingw32-dll-8.tar.lzma
libmpc-1.0.2-mingw32-dll-3.tar.xz
make-3.82.90-2-mingw32-cvs-20120902-bin.tar.lzma
mingwrt-3.21.1-mingw32-dev.tar.xz
mingwrt-3.21.1-mingw32-dll.tar.xz
mpfr-3.1.2-2-mingw32-dll.tar.lzma
pthreads-w32-2.9.1-1-mingw32-dll.tar.lzma
w32api-3.17-2-mingw32-dev.tar.lzma

MSYS

bash-3.1.23-1-msys-1.0.18-bin.tar.xz
bzip2-1.0.6-1-msys-1.0.17-bin.tar.lzma
coreutils-5.97-3-msys-1.0.13-bin.tar.lzma
coreutils-5.97-3-msys-1.0.13-doc.tar.lzma
coreutils-5.97-3-msys-1.0.13-ext.tar.lzma
coreutils-5.97-3-msys-1.0.13-lang.tar.lzma
coreutils-5.97-3-msys-1.0.13-lic.tar.lzma
diffutils-2.8.7.20071206cvs-3-msys-1.0.13-bin.tar.lzma
dos2unix-7.2.3-1-msys-1.0.18-bin.tar.lzma
file-5.04-1-msys-1.0.13-bin.tar.lzma
findutils-4.4.2-2-msys-1.0.13-bin.tar.lzma
gawk-3.1.7-2-msys-1.0.13-bin.tar.lzma
grep-2.5.4-2-msys-1.0.13-bin.tar.lzma
gzip-1.3.12-2-msys-1.0.13-bin.tar.lzma
less-436-2-msys-1.0.13-bin.tar.lzma
libbz2-1.0.6-1-msys-1.0.17-dll-1.tar.lzma
libcrypt-1.1_1-3-msys-1.0.13-dll-0.tar.lzma
libexpat-2.0.1-1-msys-1.0.13-dll-1.tar.lzma
libgdbm-1.8.3-3-msys-1.0.13-dll-3.tar.lzma
libiconv-1.14-1-msys-1.0.17-dll-2.tar.lzma
libintl-0.18.1.1-1-msys-1.0.17-dll-8.tar.lzma
liblzma-5.0.3-1-msys-1.0.17-dll-5.tar.lzma
libmagic-5.04-1-msys-1.0.13-dll-1.tar.lzma
libregex-1.20090805-2-msys-1.0.13-dll-1.tar.lzma
libtermcap-0.20050421_1-2-msys-1.0.13-dll-0.tar.lzma
libxml2-2.7.6-1-msys-1.0.13-dll-2.tar.lzma
m4-1.4.16-2-msys-1.0.17-bin.tar.lzma
make-3.81-3-msys-1.0.13-bin.tar.lzma
msysCORE-1.0.18-1-msys-1.0.18-bin.tar.lzma
msysCORE-1.0.18-1-msys-1.0.18-doc.tar.lzma
msysCORE-1.0.18-1-msys-1.0.18-ext.tar.lzma
msysCORE-1.0.18-1-msys-1.0.18-lic.tar.lzma
perl-5.8.8-1-msys-1.0.17-bin.tar.lzma
sed-4.2.1-2-msys-1.0.13-bin.tar.lzma
tar-1.23-1-msys-1.0.13-bin.tar.lzma
termcap-0.20050421_1-2-msys-1.0.13-bin.tar.lzma
texinfo-4.13a-2-msys-1.0.13-bin.tar.lzma
xz-5.0.3-1-msys-1.0.17-bin.tar.lzma
zlib-1.2.7-1-msys-1.0.17-dll.tar.lzma

1

작년에 32 비트 빌드에 대해 emacs / nt / INSTALL의 지침을 시도했지만 문제가 발생했습니다 (정확히 무엇을 기억하지 못합니다). 최근에 나는 emacsbinw64에 대한 지침을 시도 했습니다. 매우 잘 작동했습니다. 필요한 라이브러리를 얻는 것이 더 간단했습니다. 64 비트 빌드에는 MSYS2 및 MinGW-w64를 사용합니다. emacsbinw64 프로젝트는 https://sourceforge.net/projects/emacsbinw64/files/ 에서 바이너리를 제공합니다 .

그래서 나는 Eli Zaretski와 저자 Chris Zheng의 피드백과 함께 그 개요에 따라 몇 가지 지침을 작성했습니다. 정식 버전은 http://git.savannah.gnu.org/cgit/emacs.git/plain/nt/INSTALL에 있습니다. .W64? h = emacs-25 (릴리스 타르볼에서 빌드하는 것만 포함).

Intel i3 및 고속 인터넷 연결 인 YMMV에서 총 90 분이 걸렸습니다. Windows에서 빌드하는 대부분의 작업은 빌드 환경을 설정하는 것입니다 ...


요구 사항

필요한 총 공간은 3GB입니다. 전체 저장소가있는 MSYS2 / MinGW-w64의 경우 1.8GB, Emacs의 경우 1.2GB입니다.

MinGW-w64 및 MSYS2 다운로드 및 설치

https://sourceforge.net/projects/msys2/files/Base/x86_64 에서 x86_64 버전의 MSYS2 (예 : msys2-x86_64-.exe)를 다운로드 하십시오 .

이 파일을 실행하여 선호하는 디렉토리 (예 : 기본 C : \ msys64)에 MSYS2를 설치하십시오. MinGW-w64도 설치됩니다. 공백이 포함 된 디렉토리 이름은 문제를 일으킬 수 있습니다.

그런 다음 Windows PATH 환경 변수에 다음 디렉토리를 추가해야합니다.

c:\msys64\usr\bin;c:\msys64\mingw64\bin

제어판 / 시스템 및 보안 / 시스템 / 고급 시스템 설정 / 환경 변수 / 편집 경로를 통해이 작업을 수행 할 수 있습니다.

이 디렉토리를 PATH에 추가하면 Emacs가 실행해야하는 DLL을 찾을 위치와 grep 및 find와 같은 일부 선택적 명령을 알려줍니다. 이 명령은 Windows 콘솔에서도 사용할 수 있습니다.

필요한 패키지를 다운로드하여 설치하십시오

MSYS2 디렉토리에서 msys2_shell.bat를 실행하면 BASH 창이 열립니다.

BASH 프롬프트에서 다음 명령을 사용하여 필요한 패키지를 설치하십시오 (Shift + Insert를 사용하여 패키지를 복사하여 쉘에 붙여 넣기).

pacman -S base-devel \
mingw-w64-x86_64-toolchain \
mingw-w64-x86_64-xpm-nox \
mingw-w64-x86_64-libtiff \
mingw-w64-x86_64-giflib \
mingw-w64-x86_64-libpng \
mingw-w64-x86_64-libjpeg-turbo \
mingw-w64-x86_64-librsvg \
mingw-w64-x86_64-libxml2 \
mingw-w64-x86_64-gnutls

이제 Emacs를위한 완벽한 빌드 환경을 갖추 었습니다.

힘내 설치 (선택 사항) 및 autocrlf 비활성화

시스템에 Git이없는 경우 다음을 사용하여 MSYS2 환경에 설치할 수 있습니다.

pacman -S git

Git의 autocrlf 기능은 구성 파일을 방해 할 수 있으므로 다음 명령을 실행하여이 기능을 비활성화하는 것이 가장 좋습니다.

git config core.autocrlf false

이맥스 소스 코드 받기

Git 리포지토리를 다운로드하려면 다음과 같이하십시오. 그러면 Emacs 소스가 C : \ emacs \ emacs-25에 저장됩니다.

mkdir /c/emacs
cd /c/emacs
git clone git://git.sv.gnu.org/emacs.git emacs-25

이맥스 구축

이제 autogen을 사용하여 Emacs를 빌드하고 설치할 준비가되었습니다.

먼저 MinGW-w64 환경으로 전환해야합니다. MSYS2 BASH 콘솔을 종료하고 C : \ msys64 폴더에서 mingw64_shell.bat를 실행 한 다음 Emacs 소스 디렉토리로 cd하십시오.

cd /c/emacs/emacs-25

오토 젠 실행

개발 소스를 빌드하는 경우 autogen을 실행하여 구성 스크립트를 생성하십시오.

./autogen.sh

구성 실행

이제 다양한 Makefile을 빌드하는 configure를 실행할 수 있습니다.

'--prefix'옵션은 결과 바이너리 파일의 위치를 ​​지정합니다. 'make install'에서 사용할 것입니다.이 예에서는 C : \ emacs \ emacs-25로 설정합니다. 접두사가 지정되지 않으면 파일은 C : \ msys64 디렉토리에있는 표준 Unix 디렉토리에 배치되지만 권장되지는 않습니다.

Emacs는 아직 Windows에서 지원하지 않기 때문에 Imagemagick를 비활성화해야합니다.

PKG_CONFIG_PATH=/mingw64/lib/pkgconfig \
./configure --prefix=/c/emacs/emacs-25 --without-imagemagick

make 실행

이것은 Emacs를 컴파일하고 실행 파일을 빌드하여 src 디렉토리에 넣습니다.

make

프로세스 속도를 높이려면 다음을 실행하십시오.

make -jN

여기서 N은 시스템의 코어 수입니다. MSYS2가 병렬 실행을 지원하면 훨씬 빠르게 실행됩니다.

make install 실행

이제 "make install"을 실행하면 실행 파일 및 기타 파일이 구성 단계에서 지정된 위치로 복사됩니다. bin, libexec, share 및 var 디렉토리가 작성됩니다.

make install

당신은 또한 말할 수 있습니다

make install prefix=/c/somewhere

다른 곳에 설치하십시오.

이맥스 테스트

테스트하려면

./bin/runemacs.exe -Q

모든 것이 잘 진행되면 새로운 64 비트 버전의 Emacs를 갖게됩니다.

바로 가기 만들기

새 Emacs를 실행하기위한 바로 가기를 만들려면, 예를 들어 데스크탑과 같은 위치를 마우스 오른쪽 단추로 클릭하고 새로 만들기 / 바로 가기를 선택한 다음 새 Emacs의 bin 폴더에서 runemacs.exe를 선택하고 이름을 지정하십시오. .

결과 바로 가기를 마우스 오른쪽 버튼으로 클릭하여 속성을 선택한 다음 --debug-init와 같은 옵션을 대상 명령에 추가하여 명령 줄 옵션을 설정할 수 있습니다.

크레딧

https://sourceforge.net/p/emacsbinw64/wiki/Build%20guideline%20for%20MSYS2-MinGW-w64%20system/ 에있는 emacsbinw64 프로젝트에서 사용 된 원래 빌드 개요에 대해 Chris Zheng에게 감사드립니다 .

특허

이 파일은 GNU Emacs의 일부입니다.

GNU Emacs는 자유 소프트웨어입니다. 자유 소프트웨어 재단 (Free Software Foundation)이 발행 한 GNU General Public License의 조건에 따라 라이센스 버전 3 또는 그 이후 버전으로 소프트웨어를 재배포 및 / 또는 수정할 수 있습니다.

GNU Emacs는 유용 할 것이라는 희망으로 배포되었지만 어떠한 보증도하지 않습니다. 상품성 또는 특정 목적에의 적합성에 대한 묵시적 보증 없이도. 자세한 내용은 GNU General Public License를 참조하십시오.

GNU Emacs와 함께 GNU General Public License의 사본을 받았어야합니다. 그렇지 않은 경우 http://www.gnu.org/licenses/를 참조 하십시오 .


빌드가 완료되면 Emacs 실행 파일과 동일하게 직접 배치해야하는 .dll 파일을 복사하는 단계를 추가하여 Emacs가 시스템 전체적으로 정의 된 경로를 사용하여 해당 파일을 찾을 필요가 없도록하십시오. 파일. 또한, gnutls의 실행 파일을 Emacs 실행 파일 디렉토리로 복사해야 할 수도 있습니다. 마지막 단계는 대체 답변의 Emacs 32 빌드와 상당히 유사 할 것입니다.
법률 목록

예, 원래 지침은 그런 식으로 작성되었지만 Eli는 PATH-lists.gnu.org/archive/html/bug-gnu-emacs/2015-12/msg01476.html을 사용하는 것이 더 좋다고 생각했습니다. 이 방법은 다른 옵션입니다. C : \ msys64 \ mingw64 \ bin의 모든 DLL을 emacs bin 폴더에 복사하면 32MB에 불과 cp /c/msys64/mingw64/bin/*.dll bin합니다. 나는 gnutls에 대해 많이 모른다-그것을 테스트하는 간단한 방법이 있습니까?
Brian Burns

실제로 전자 메일이나 다른 목적으로 사용하지 않고 가장 일반적인 의미에서 일반적인 테스트는 gnutls-available-p 시스템 경로를 참조 할 때 단순성의 이유를 이해하는 기능 을 사용하지만 때로는 다른 컴퓨터에서 Emacs 빌드를 사용하려는 경우가 있습니다. 그들은 이미지와 물건이 기본적으로 작동하지 않는 이유를 궁금해 할 것입니다. 사람들이 PDF 파일이 일반 버퍼에서 횡설수설처럼 보이는 이유 (예 : png 지원 부족) 또는 AUCTeX에서 doc-view 또는 preview를 수행 할 수없는 이유를 묻는 많은 스레드가 있습니다 (동일한 이유).
lawlist

좋아, gnutls-available-pPATH 설정 만 사용하여 t를 반환하므로 지금 작동한다고 가정합니다. 다른 방법으로 DLL을 복사하고 필요한 경우 gnutls exe를 패치하고 여기에 업데이트합니다. 나중.
Brian Burns
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.