จะใช้ GNU Make บน Windows ได้อย่างไร?


96

ผมติดตั้ง MinGW และ MSYS เพิ่มC:\MinGW\binไปPATHแต่ฉันยังคงไม่สามารถทำงานบน Windows Makefile cmdฉันต้องการเรียกใช้ cmd.exe และมีประเภทเช่นmake allแต่ cmd ของฉันบอกว่าไม่มีคำสั่งดังกล่าว

ฉันควรทำอย่างไรดี? ฉันไม่ต้องการใช้ MSYS เชลล์นั่นไม่ใช่ประเด็น มีความคิดอย่างไรในการใช้ GNU Make ใน Windows cmd เท่าที่ทำได้ใน Ubuntu Cygwinฉันไม่ได้สนใจใน


1
คุณจะต้องเพิ่มลงใน PATH ภายใต้ตัวแปรสภาพแวดล้อมในการตั้งค่าระบบของคุณ
slugonamission

@slugonamission: ฉันไม่ได้อยู่แล้วผมเขียน :)
จามรี

เรียกใช้ make.exe แทน make?
slugonamission

2
@slugonamission: ฉันทำแล้ว! ฉันเพิ่มC:\MinGW\msys\1.0\binไปที่ PATH แล้วและใช้งานได้! : D แต่ก็ยังคงมีปัญหา, makeการแสดงฉัน: pastie.org/private/ixaaqbq2xl3geyg0emnow
จามรี

1
ในallเป้าหมายของคุณhello.exe จะต้องอยู่ในบรรทัดเดียวallกับที่จะถือว่าเป็นการพึ่งพาสำหรับเป้าหมาย allถ้าไม่ได้กลายเป็นส่วนหนึ่งของงานสำหรับ
slugonamission

คำตอบ:


101

นี่คือวิธีที่ฉันใช้งานได้:

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

จากนั้นฉันสามารถเปิดพรอมต์คำสั่งและพิมพ์ make:

  C:\Users\Dell>make
  make: *** No targets specified and no makefile found.  Stop.

ซึ่งหมายความว่ามันใช้งานได้แล้ว!


10
กรณีที่ฉัน @Imray ก็ยังไม่สมบูรณ์ชัดเจน: mingw32-make.exeทำให้มีการกระจายในแฟ้ม ตั้งแต่ไดเรกทอรีc:\MinGW\binอยู่บนเส้นทางของระบบคุณสามารถใช้mingw32-makeเป็นคำสั่งหรือคัดลอก (รุ่นที่ปลอดภัยของการเปลี่ยนชื่อ) เพียงmingw32-make.exe make.exe
Tomáš Zato - คืนสถานะ Monica

1
คุณควรหลีกเลี่ยงการสร้าง msys หรือ mingw เป็นส่วนหนึ่งของตัวแปรสภาพแวดล้อมของคุณด้วยเหตุผลที่ขยายตัว แต่เนื่องจากไดเรกทอรี msys เป็นแบบโลคัล พา ธ ใน msys จะให้คุณใช้ make if มันอยู่ใน bin ของ mingw64 แต่ไม่ได้พูดถึงปัญหานี้ นอกจากนี้คุณยังไม่ได้พูดถึงปัญหาคุณควรสร้างลิงก์ HARD ไปยัง mingw32-make.exe เป็น make.exe ทำให้ชีวิตง่ายขึ้นและไม่ต้องโคลน exe ลอง:mklink /H C:\MinGW\bin\mingw32-make.exe C:\MinGW\bin\make.exe
user2262111


6

แม้ว่าคำถามนี้เก่าก็ยังคงถามโดยหลายคนที่ใช้MSYS2

ฉันเริ่มใช้มันในปีนี้เพื่อแทนที่ CygWin และฉันก็ค่อนข้างพอใจ

ในการติดตั้งmakeให้เปิดเชลล์ MSYS2 และพิมพ์คำสั่งต่อไปนี้:

# Update the package database and core system packages
pacman -Syu
# Close shell and open again if needed

# Update again
pacman -Su

# Install make
pacman -S make

# Test it (show version)
make -v

3

คุณสามารถเพิ่มโฟลเดอร์แอปพลิเคชันไปยังเส้นทางของคุณจากพรอมต์คำสั่งโดยใช้:

เส้นทาง setx "% PATH%; c: \ MinGW \ bin"

โปรดทราบว่าคุณอาจต้องเปิดหน้าต่างคำสั่งใหม่เพื่อให้การตั้งค่าเส้นทางที่แก้ไขมีผลบังคับใช้


3

อีกทางเลือกหนึ่งหากคุณต้องการติดตั้ง make คุณสามารถใช้ตัวจัดการแพ็คเกจช็อคโกแลตเพื่อติดตั้งgnu makeโดยใช้

choco install make -y

สิ่งนี้เกี่ยวข้องกับปัญหาเส้นทางใด ๆ ที่คุณอาจมี


0

user1594322 ให้คำตอบที่ถูกต้อง แต่เมื่อฉันลองฉันพบปัญหาผู้ดูแลระบบ / การอนุญาต ฉันสามารถคัดลอก 'mingw32-make.exe' และวางได้ปัญหาผู้ดูแลระบบมากกว่าการพิจารณาคดี / โดยผ่านแล้วแก้ไขสำเนาเป็น 'make.exe' บน VirtualBox ในแขก Win7


0

ในขณะที่ทำให้ตัวเองสามารถใช้ได้เป็นปฏิบัติการแบบสแตนด์อโลน ( gnuwin32.sourceforge.netแพคเกจmake ) ใช้ในที่เหมาะสมหมายถึงสภาพแวดล้อมการพัฒนาโดยใช้msys2

Git 2.24 (Q4 2019) แสดงให้เห็นว่า:

ดูคอมมิต 4668931 , คอมมิต b35304b , คอมมิต ab7d854 , คอมมิต be5d88e , คอมมิต 5d65ad1 , คอมมิต 030a628 , คอมมิต 61d1d92 , คอมมิต e4347c9 , คอมมิต ed712ef , คอมมิต 5b8f9e2 , คอมมิต 41616ef , คอมมิต c097b95 (04 ต.ค. 2019) และคอมมิต dbcd970 (30 ก.ย. 2019) โดยโยฮันเน Schindelin (dscho )
(รวมโดยJunio C Hamano - gitster-ในการกระทำ 6d5291b , 15 ตุลาคม 2019)

test-tool run-command: เรียนรู้การเรียกใช้ (บางส่วนของ) testsuite

ลงนามโดย: Johannes Schindelin

Git สำหรับ Windows กระโดดผ่านห่วงเพื่อจัดเตรียมสภาพแวดล้อมการพัฒนาที่อนุญาตให้สร้าง Git และเรียกใช้ชุดทดสอบได้

ด้วยเหตุนี้ระบบ MSYS2 ทั้งหมดรวมถึง GNU make และ GCC จึงถูกเสนอเป็น "the Git for Windows SDK"
มันมาพร้อมราคา: การดาวน์โหลด SDK ครั้งแรกดังกล่าวมีน้ำหนักหลายร้อยเมกะไบต์และ SDK ที่ไม่ได้บรรจุใช้พื้นที่ดิสก์ ~ 2GB

สภาพแวดล้อมการพัฒนาดั้งเดิมบน Windows คือ Visual Studio เพื่อช่วยให้ผู้ร่วมให้ข้อมูลใช้สภาพแวดล้อมนั้นเรามีเป้าหมาย Makefile vcxprojที่สร้างการคอมมิตด้วยไฟล์โปรเจ็กต์ (และไฟล์อื่น ๆ ที่สร้างขึ้น) และ Git สำหรับ Windows vs/masterจะถูกสร้างขึ้นใหม่อย่างต่อเนื่องโดยใช้เป้าหมาย

แนวคิดคืออนุญาตให้สร้าง Git ใน Visual Studio และเรียกใช้การทดสอบแต่ละรายการโดยใช้ Portable Git

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.