จะติดตั้งและใช้“ make” ใน Windows ได้อย่างไร?


127

ฉันกำลังทำตามคำแนะนำของคนที่ฉันโคลนที่เก็บข้อมูลไปยังเครื่องของฉัน สิ่งที่ฉันต้องการนั้นง่ายมาก: เพื่อให้สามารถใช้makeคำสั่งเป็นส่วนหนึ่งของการตั้งค่าสภาพแวดล้อมโค้ด แต่ฉันใช้ Windows และฉันค้นหาออนไลน์เท่านั้นเพื่อค้นหาไฟล์ make.exe เพื่อดาวน์โหลดmake-4.1.tar.gzไฟล์ที่จะดาวน์โหลด (ฉันไม่รู้ว่าจะทำอย่างไรกับมันต่อไป) และสิ่งต่างๆเกี่ยวกับการดาวน์โหลด MinGW (สำหรับ GNU แต่ หลังจากติดตั้งแล้วฉันไม่พบการกล่าวถึง "make")

ฉันไม่ต้องการคอมไพเลอร์ GNU หรือสิ่งที่เกี่ยวข้อง ฉันต้องการใช้ "make" ใน Windows เท่านั้น โปรดบอกฉันว่าฉันควรทำอย่างไรเพื่อให้มันสำเร็จ

ขอบคุณล่วงหน้า!


1
การติดตั้งเพียงmakeไม่น่าจะช่วยแก้ปัญหาของคุณได้ Makefiles จำนวนมากเขียนขึ้นสำหรับระบบที่เหมือน Unix และจะต้องให้คุณติดตั้งยูทิลิตี้เพิ่มเติมจำนวนมาก (รวมถึงคอมไพเลอร์ที่รองรับหากโปรเจ็กต์เกี่ยวข้องกับโค้ดที่คอมไพล์แล้ว) เช่น Cygwin หรือเพียงแค่เปลี่ยนไปใช้แพลตฟอร์มเช่น WSL หากคุณไม่สามารถว่างได้จริงๆ ตัวคุณเองจาก Windows ทั้งหมด
tripleee

คำตอบ:


159

makeเป็นคำสั่ง GNU ดังนั้นวิธีเดียวที่คุณจะได้รับบน Windows จะติดตั้ง Windows รุ่นอย่างหนึ่งที่ให้บริการโดยGnuWin32 หรือคุณสามารถติดตั้ง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 ก่อนอื่นคุณต้องติดตั้งตัวจัดการแพ็คเกจนี้ เมื่อติดตั้งแล้วคุณต้องติดตั้ง simlpy make:

choco install make

ตัวเลือกสุดท้ายคือการติดตั้งระบบย่อยของ Windows สำหรับ Linux (WSL)ดังนั้นคุณจะมีการกระจาย Linux ที่คุณเลือกซึ่งฝังอยู่ใน Windows 10 ซึ่งคุณจะสามารถติดตั้งmakeได้gccและเครื่องมือทั้งหมดที่คุณต้องใช้ในการสร้างโปรแกรม C


1
ขอบคุณ! ฉันไม่รู้ว่าmakeเป็นคำสั่ง GNU ฉันตรวจสอบเส้นทางที่คุณระบุและพบmake.exeแต่อยู่ในเส้นทางที่คล้ายกัน (C: \ MinGW \ msys \ 1.0 \ bin \ make.exe) ฉันเพิ่มสิ่งนี้ลงในตัวแปร PATH และใช้งานได้!
Hashem Elezabi

2
วิธีที่ง่ายจะสร้าง symlink 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 เอง 'ทำให้' ยูทิลิตี้, nmakeดูที่เอกสาร สามารถใช้งานได้จากพรอมต์คำสั่ง VS แต่คุณสามารถเพิ่มลงในพา ธ ได้ อย่างไรก็ตามโปรดทราบว่าฟังก์ชันการใช้งานค่อนข้าง จำกัด เมื่อเทียบกับ GNU make และเอกสารประกอบก็แทบไม่มีเลย ...
jmon12

1
@notacorn แต่คุณสามารถเข้าถึงโฟลเดอร์ "Windows" ของคุณได้จากทั้งสองโฟลเดอร์ Git bash ด้วย / c, WSL พร้อม / mnt / c
Eduardo Yáñez Parareda

187

GNU make มีอยู่ในช็อกโกแลต

  • ติดตั้ง chocolatey จากที่นี่

  • จากนั้นchoco install make.

ตอนนี้คุณจะสามารถใช้ Make บน windows
ฉันได้ลองใช้กับ MinGW แล้ว แต่ควรใช้กับ CMD ด้วย


31
IMO โซลูชันที่ง่ายที่สุด ณ ปี 2019
My Stack Overfloweth

หมายเหตุ: อาจต้องตั้งค่าพร็อกซีที่ถูกต้องโดยใช้choco config set proxy ADDRESS:PORT
weshouman

นอกจากนี้ยังมีสกู๊ปหากคุณไม่ชอบวิธีการที่ chocolaty ต้องการเซสชัน powershell ของผู้ดูแลระบบ: github.com/lukesampson/scoop/wiki/Chocolatey- การเปรียบเทียบ
Jonathan Landrum

18

คำตอบที่ยอมรับนั้นเป็นความคิดที่ไม่ดีโดยทั่วไปเนื่องจากสิ่งที่สร้างขึ้นด้วยตนเองmake.exeจะติดค้างและอาจทำให้เกิดปัญหาที่ไม่คาดคิดได้ มันทำลาย RubyInstaller จริง: https://github.com/oneclick/rubyinstaller2/issues/105

อีกทางเลือกหนึ่งคือการติดตั้งmakeผ่าน Chocolatey (ตามที่ระบุไว้โดย @Vasantha Ganesh K)

อีกทางเลือกหนึ่งคือการติดตั้งMSYS2จาก Chocolatey และใช้makeจากC:\tools\msys64\usr\bin. หากmakeไม่ได้ติดตั้งโดยอัตโนมัติด้วย MSYS2 คุณต้องติดตั้งด้วยตนเองผ่านpacman -S make(ตามที่ @Thad Guidry และ @Luke ชี้ให้เห็น)


3
ฉันติดตั้งโดยใช้ Chocolatey แต่ไม่มี make.exe ในC:\tools\msys64\usr\bin??
Rosdi Kasim

1
คุณจะพบ Pacman ในโฟลเดอร์นั้นหลังจากนั้นใช้ขั้นตอนที่ 3 ของ @thad
Luke

8

หากคุณใช้ Windows 10 ระบบจะติดตั้งไว้ในคุณลักษณะระบบย่อยของ Linux เพียงแค่เปิดทุบตีพรอมต์ (กดปุ่ม Windows แล้วพิมพ์bashและเลือก "ทุบตีบน Ubuntu บน Windows") ไปยังไดเรกทอรีที่คุณต้องการจะทำและประเภทcdmake

FWIW พบไดรฟ์ Windows /mntเช่นC:\ไดรฟ์อยู่/mnt/cใน Bash

หาก Bash ไม่สามารถใช้งานได้จากเมนูเริ่มของคุณต่อไปนี้เป็นคำแนะนำในการเปิดคุณลักษณะของ Windows (Windows 64 บิตเท่านั้น):

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


4
ระบบย่อย Linux ไม่พร้อมใช้งานบน Windows 10 Home
Martin Gray

ฉันใช้ Windows Subsystem สำหรับ Linux (โดยเฉพาะ Ubuntu 20.04 LTS ดาวน์โหลดจาก Microsoft Store) บน Win10 Home ver.1809 ของฉันในช่วงสองเดือนที่ผ่านมาโดยไม่มีปัญหาใด ๆ เมื่อพูดถึงยี่ห้อฉันสามารถใช้งานได้โดยตรงจากในหน้าต่าง Windows Terminal โดยไม่ต้องเปิด bash ก่อน เรียบร้อย.
Igor Soudakevitch


5

ดาวน์โหลด make.exe จากเว็บไซต์อย่างเป็นทางการGnuWin32

  • ในเซสชั่นดาวน์โหลดคลิก แพคเกจที่สมบูรณ์ยกเว้นแหล่งที่มา

  • ทำตามคำแนะนำในการติดตั้ง

  • เมื่อเสร็จแล้วให้เพิ่ม<installation directory>/bin/ตัวแปร PATH

ตอนนี้คุณจะสามารถใช้ make ใน cmd


คุณช่วยฉันหน่อยได้ไหมว่าจะตั้งไดเร็กทอรีเป็นตัวแปร PATH
shomit

3

อีกทางเลือกหนึ่งคือหากคุณติดตั้ง minGW แล้วและเพิ่มโฟลเดอร์ bin เป็นตัวแปรสภาพแวดล้อมเส้นทางคุณสามารถใช้ "mingw32-make" แทน "make" ได้

คุณยังสามารถสร้าง symlink จาก "make" เป็น "mingw32-make" หรือคัดลอกและเปลี่ยนชื่อไฟล์ ฉันจะไม่แนะนำตัวเลือกก่อนหน้านี้พวกเขาจะทำงานจนกว่าคุณจะทำการเปลี่ยนแปลงใน minGW


คุณสามารถระบุความหมายของ "ตัวเลือกก่อนหน้า" ได้หรือไม่?
Jona

1

ฉันสามารถแนะนำแนวทางทีละขั้นตอน

  1. เยี่ยมชมGNUwin
  2. ดาวน์โหลดโปรแกรมติดตั้ง
  3. ทำตามคำแนะนำและติดตั้ง GNUWin คุณควรใส่ใจกับไดเร็กทอรีที่กำลังติดตั้งแอปพลิเคชันของคุณ (คุณจะต้องใช้ในภายหลัง 1)
  4. ทำตามคำแนะนำเหล่านี้และเพิ่ม make ให้กับตัวแปรสภาพแวดล้อมของคุณ อย่างที่ฉันเคยบอกคุณไปแล้วตอนนี้ได้เวลารู้แล้วว่าแอปพลิเคชันของคุณติดตั้งไว้ที่ใด FYI: ไดเร็กทอรีเริ่มต้นคือC:\Program Files (x86)\GnuWin32\.
  5. ตอนนี้อัปเดต PATH เพื่อรวมไดเร็กทอรี bin ของโปรแกรมที่ติดตั้งใหม่ ตัวอย่างทั่วไปของสิ่งที่อาจเพิ่มเข้าไปในเส้นทางคือ:...;C:\Program Files (x86)\GnuWin32\bin

0

วิธีแก้ปัญหาหนึ่งที่อาจเป็นประโยชน์หากคุณต้องการใช้ cmder โปรแกรมจำลองบรรทัดคำสั่ง คุณสามารถติดตั้งโปรแกรมติดตั้งแพคเกจได้อย่างเลือกไม่ถูก ก่อนอื่นเราติดตั้ง chocately ในพรอมต์คำสั่งของ windows โดยใช้บรรทัดต่อไปนี้:

@"%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.