Windows에서 "make"를 설치하고 사용하는 방법은 무엇입니까?


127

내 컴퓨터에 복제 한 저장소를 가진 누군가의 지시를 따르고 있습니다. 내가 원하는 것은 간단하다. make코드 환경 설정의 일부로 명령 을 사용할 수 있다는 것이다 . 하지만 저는 Windows를 사용하고 있으며 온라인에서 다운로드 할 make.exe 파일, 다운로드 할 make-4.1.tar.gz파일 (다음에 무엇을해야할지 모르겠 음), MinGW 다운로드 (GNU 용)에 대한 정보 만 검색했습니다. 설치 한 후 "make"에 대한 언급을 찾지 못했습니다.)

나는 GNU 컴파일러 나 관련 물건을 원하지 않습니다. Windows에서만 "make"를 사용하고 싶습니다. 그것을 달성하기 위해 내가 무엇을해야하는지 알려주세요.

미리 감사드립니다!


1
단순히 설치하는 것만으로 make는 문제를 해결할 수 없습니다. 많은 Makefile은 Unix 계열 시스템 용으로 작성되었으며 Cygwin과 같은 상당한 양의 추가 유틸리티 (프로젝트에 컴파일 된 코드가 포함 된 경우 지원되는 컴파일러 포함)를 설치하거나 실제로 해제 할 수없는 경우 WSL과 같은 플랫폼으로 전환해야합니다. Windows에서 완전히.
tripleee 19-06-08

답변:


159

make은 GNU 명령이므로 Windows에서 얻을 수있는 유일한 방법은 GNUWin32에서 제공하는 것과 같은 Windows 버전을 설치하는 입니다. 또는 MinGW 를 설치 한 후 다음을 수행 할 수 있습니다 .

copy c:\MinGW\bin\mingw32-make.exe c:\MinGW\bin\make.exe

또는 PATH에 실제 실행 파일에 대한 링크를 만듭니다. 이 경우 MinGW를 업데이트해도 링크는 삭제되지 않습니다.

mklink c:\bin\make.exe C:\MinGW\bin\mingw32-make.exe

다른 옵션은 Chocolatey를 사용하는 것 입니다. 먼저이 패키지 관리자를 설치해야합니다. 설치가 완료되면 다음을 설치해야합니다 make.

choco install make

마지막 옵션은 Linux 용 윈도우 서브 시스템 (WSL)을 설치 하면 설치 할 수 있습니다 윈도우 10에 포함 된 선택의 리눅스 배포판해야하므로 make, gcc빌드 C 프로그램에 필요한 모든 도구를.


1
감사! make 가 GNU 명령 인지 몰랐습니다 . 제공 한 경로를 확인하고 make.exe를 찾았 지만 비슷한 경로 (C : \ MinGW \ msys \ 1.0 \ bin \ make.exe)에 있습니다. 나는 이것을 PATH 변수에 추가했고 작동합니다!
Hashem Elezabi 2015-08-20

2
더 간단한 방법은 심볼릭 링크를 만드는 것입니다 : mklink C:\bin\make.exe C:\MinGW\bin\mingw32-make.exe. 따라서 향후 mingw를 업그레이드하면 링크가 손상되지 않습니다.
kumarharsh

1
MSYS2를 사용하는 것만으로도 mklink. MSYS2의는 pacman메이크업 설치할 수 있습니다 pacman -S make, 제대로 작동되지 않습니다 . 대신 mingw32-make.exe이미 msys64/mingw64/bin. 아마도 gcc. 나는 왜 그것이 단지라고 부르지 않는지 혼란 스럽습니다 make.exe. 방금 복사했습니다 make.exe.
Neonit

2
Visual Studio가 자체 'make'유틸리티를 제공한다는 것을 언급하는 것이 유용 할 수 있습니다. 문서를nmake 참조하십시오 . VS 명령 프롬프트에서 사용할 수 있지만 물론 경로에 추가 할 수 있습니다. 그러나 기능은 GNU make에 비해 상당히 제한적이며 문서는 거의 존재하지 않습니다 ...
jmon12

1
@notacorn과 비슷하지만 둘 다에서 "Windows"폴더에 액세스 할 수 있습니다. Git bash는 / c, WSL은 / mnt / c입니다.
Eduardo Yáñez Parareda

186

GNU make는 chocolatey에서 사용할 수 있습니다.

이제 Windows에서 Make를 사용할 수 있습니다.
MinGW에서 사용해 보았지만 CMD에서도 작동합니다.



이것이 Bash에서 작동하지 않는 이유가 있습니까? @vasantha
user3614648

참고 : 다음을 사용하여 올바른 프록시를 설정해야 할 수 있습니다choco config set proxy ADDRESS:PORT
weshouman

chocolaty에 관리자 powershell 세션이 필요한 방식이 마음에 들지 않는 경우도 있습니다. github.com/lukesampson/scoop/wiki/Chocolatey-Comparison
Jonathan Landrum

18

허용되는 대답은 일반적으로 좋지 않은 생각입니다. 수동으로 만든 파일 make.exe이 계속 붙어서 예기치 않은 문제를 일으킬 수 있기 때문 입니다. 실제로 RubyInstaller가 중단됩니다. https://github.com/oneclick/rubyinstaller2/issues/105

대안은 make를 설치하는 것입니다. Chocolatey 통해 를 (@Vasantha Ganesh K가 지적한대로)

또 다른 대안은 Chocolatey에서 MSYS2make 하고 C:\tools\msys64\usr\bin. makeMSYS2와 함께 자동으로 설치되지 않는 경우 수동으로 설치해야합니다 pacman -S make(@Thad Guidry 및 @Luke가 지적한대로).


3
Chocolatey를 사용하여 이것을 설치했지만 C:\tools\msys64\usr\bin??에 make.exe가 없습니다 .
Rosdi Kasim

1
그 폴더에서 pacman을 찾을 수 있습니다. 그 후에 @thad의 3 단계를 사용합니다
Luke

8

Windows 10을 사용하는 경우 Linux 하위 시스템 기능에 내장되어 있습니다. Bash 프롬프트를 실행하고 (Windows 키를 누른 다음 bash"Windows의 Ubuntu에서 Bash" 를 입력 하고 선택) cd만들고 싶은 디렉토리에 입력하고make .

FWIW에서 Windows 드라이브는에서 찾을 수 있습니다 /mnt(예 : C:\드라이브가 /mnt/cBash에 있음).

시작 메뉴에서 Bash를 사용할 수없는 경우 해당 Windows 기능을 설정하는 방법은 다음과 같습니다 (64 비트 Windows 만 해당).

https://docs.microsoft.com/en-us/windows/wsl/install-win10


4
Windows 10 Home에서는 Linux 하위 시스템을 사용할 수 없습니다.
Martin Gray

지난 2 개월 동안 Linux 용 Windows 하위 시스템 (특히 Microsoft Store에서 다운로드 한 Ubuntu 20.04 LTS)을 Win10 Home ver.1809에서 아무 문제없이 사용했습니다. make에 대해 말하면 bash를 먼저 시작하지 않고도 Windows 터미널 창에서 직접 사용할 수 있습니다. 산뜻한.
Igor Soudakevitch


5

공식 사이트 GnuWin32 에서 make.exe를 다운로드하십시오.

  • 다운로드 세션에서 소스를 제외한 전체 패키지를 클릭 합니다 .

  • 설치 지침을 따르십시오.

  • 완료되면 <installation directory>/bin/PATH 변수에 추가하십시오 .

이제 cmd에서 make를 사용할 수 있습니다.


디렉토리를 PATH 변수로 설정하는 방법을 도와 주시겠습니까?
shomit

3

또 다른 대안은 이미 minGW를 설치하고 bin 폴더를 Path 환경 변수에 추가 한 경우 "make"대신 "mingw32-make"를 사용할 수 있습니다.

"make"에서 "mingw32-make"로의 심볼릭 링크를 만들거나 파일 이름을 복사 및 변경할 수도 있습니다. 이전에는 옵션을 권장하지 않습니다. minGW를 변경할 때까지 작동합니다.


"이전 옵션"이 의미하는 바를 지정할 수 있습니까?
Jona

1

단계별 접근 방식을 제안 할 수 있습니다.

  1. GNUwin 방문
  2. 설치 프로그램 다운로드
  3. 지침에 따라 GNUWin을 설치합니다. 애플리케이션이 설치되는 디렉토리에주의해야합니다. (나중에 필요합니다 1)
  4. 에 따라 이 지침을 사용자의 환경 변수에 화장을 추가 할 수 있습니다. 이전에 말씀 드렸듯이 이제 애플리케이션이 설치된 위치를 알아야합니다. 참고 : 기본 디렉토리는C:\Program Files (x86)\GnuWin32\ 입니다.
  5. 이제 새로 설치된 프로그램의 bin 디렉토리를 포함하도록 PATH를 업데이트하십시오. 경로에 추가 할 수있는 일반적인 예는 다음과 같습니다....;C:\Program Files (x86)\GnuWin32\bin

0

명령 줄 에뮬레이터 cmder를 사용하려는 경우 도움이 될 수있는 한 가지 솔루션입니다. 패키지 설치 프로그램을 선택적으로 설치할 수 있습니다. 먼저 다음 줄을 사용하여 Windows 명령 프롬프트에 chocately 설치합니다.

@"%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe" -NoProfile -InputFormat None -ExecutionPolicy Bypass -Command "iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))" && SET "PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin"
refreshenv

chocolatey가 설치된 후 choco 명령을 사용하여 make를 설치할 수 있습니다. 일단 설치되면 /cmder/config/user_aliases.cmd에 별칭을 추가해야합니다. 다음 줄을 추가해야합니다.

make="path_to_chocolatey\chocolatey\bin\make.exe" $*

그러면 Make가 cmder 환경에서 작동합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.