Làm thế nào để chạy makefile trong Windows?


186

Tôi có một số bản demo mà tôi đã tải xuống và chúng đi kèm với Makefile.win và Makefile.sgi. Làm cách nào tôi có thể chạy chúng trong Windows để biên dịch các bản demo?


1
Tôi nên đề cập rằng tôi là một người Linux hơn nhưng tôi cần sử dụng Windows ngay bây giờ, vì vậy tôi có một chút không biết gì.
Kim

1
Hướng dẫn rất rõ ràng được đưa ra ở đây
Sherzod

Câu trả lời:


114

Nếu bạn có Visual Studio, hãy chạy dấu nhắc Lệnh của Visual Studio từ menu Start, thay đổi thư mục chứa Makefile.winvà gõ này:

nmake -f Makefile.win

Bạn cũng có thể sử dụng dấu nhắc lệnh bình thường và chạy vsvars32.bat (c: \ Program Files (x86) \ Microsoft Visual Studio 9.0 \ Common7 \ Tools cho VS2008). Điều này sẽ thiết lập môi trường để chạy nmake và tìm các công cụ biên dịch.


5
Làm cách nào để chạy dấu nhắc lệnh của studio trực quan từ menu bắt đầu?
Kim

Được rồi tôi đã tìm ra nó. Nhưng tất nhiên nó sẽ không được biên dịch vì lỗi. Chỉ là may mắn của tôi. Cảm ơn mặc dù.
Kim

9
Đối với những người có VS2012, dấu nhắc lệnh được gọi là "Nhắc lệnh của nhà phát triển cho VS2012". Bắt đầu -> Tìm kiếm -> "lệnh" là cách tôi tìm thấy nó.
không thể phủ nhận

@NSD: Bạn có thể thử các "tạo" khác, nhưng các tệp như vậy thường được viết theo phương ngữ của nmake và với giả định rằng VS được cài đặt và trên đường dẫn. Bạn có thể thấy rằng VS Express miễn phí đủ.
Marcelo Cantos

@MarceloCantos Tôi là một người không biết gì về Linux và Making. Nếu tôi có tập tin .am và .mk thì sao. Tôi không có tập tin .win nào. Tôi đang cố gắng để làm cho wget, btw.
Cheeku

53

Hãy xem Cygwin , một môi trường tương tự Unix cho Windows


6
Cygwin đã làm việc tốt cho tôi!. Tôi chỉ phải kiểm tra, trong quá trình cài đặt, một số gói trong Devel: 'make' và cả 'gcc' như được giải thích ở đây .
Damien Leroux

6
Tôi cũng khuyên bạn nên cài đặt cygwin bằng chocolatey, vì vậy lệnh cần nhận makelà:choco install make --source=cygwin
zygimantus

Sau khi tôi cài đặt với choco, làm cách nào để thêm nó vào shell lệnh của tôi? Có một con đường để được thêm vào?
XaBerr

2
Trong trường hợp bạn đã cài đặt nó với choco, sau đó thêm dòng này (dấu ngoặc kép wit think) vào biến đường dẫn của bạn trong các biến hệ thống "C: \ tools \ cygwin \ bin"
Ali.Ghodrat

40

Kiểm tra GnuWin 's làm , cung cấp một cổng nguồn gốc cho Windows (mà không đòi hỏi một môi trường runtime đầy đủ như Cygwin)


8
Ngoài ra, vui lòng thêm "C: \ Chương trình tệp (x86) \ GnuWin32 \ bin" vào hệ thống của bạn.
băng giá

29

Đây là cách nhanh chóng và tạm thời của tôi để chạy Makefile

  • tải xuống thực hiện từ SourceForge: gnuwin32
  • cài đặt nó
  • đi đến thư mục cài đặt

C: \ Tệp chương trình (x86) \ GnuWin32 \ bin

  • sao chép tất cả các tệp trong thùng vào thư mục chứa Makefile

libiconv2.dll libintl3.dll make.exe

  • mở cmd (bạn có thể làm điều đó với nhấp chuột phải bằng shift ) trong thư mục chứa Makefile và chạy

make.exe

làm xong.

Ngoài ra, bạn có thể thêm các đối số sau lệnh, chẳng hạn như

bộ xương make.exe


11
Có lẽ tốt hơn để thêm binthư mục vào PATHbiến môi trường. Điều này sẽ make.execó sẵn từ bất cứ nơi nào.
Yukulélé

1
Tôi nghĩ rằng nó được thực hiện theo mặc định - ít nhất đó là trường hợp khi tôi cài đặt gnuwin32. Tất nhiên sao chép các tập tin là thực hành xấu.
JFFIGK

1
Nó không được thực hiện theo mặc định (hoặc không phải trong trường hợp của tôi). Bằng cách thêm nó vào đường dẫn, sau đó bạn có thể chạy make từ thư mục dự án.
Victor

Làm việc như một nhà vô địch
trungducng

28

Câu hỏi này có thể là một câu hỏi cũ nhưng giải pháp của tôi, đơn giản nhất cho bất kỳ người dùng windows nào tôi dám khẳng định, không được liệt kê.

Bước 1: Cài đặt trình quản lý gói sô cô la cho WINDOWS (tương thích với Windows 7+ / Windows Server 2003+) tại đây

Bước 2: chạychoco install make

Bước 3: Lợi nhuận từ một người quản lý gói được duy trì tốt. Make sẽ được thêm vào đường dẫn toàn cầu và chạy trên tất cả các CLI (powershell, git bash, cmd cám)

Tôi không liên kết với choco nhưng CHỈ LÀ TỐT.


8

Nếu bạn cài đặt Cygwin . Hãy chắc chắn để chọn make trong trình cài đặt. Sau đó, bạn có thể chạy lệnh sau với điều kiện bạn có Makefile.

make -f Makefile

https://cygwin.com/install.html

6

Với Visual Studio 2017 tôi đã phải thêm thư mục này vào biến env đường dẫn Windows 10 của mình:

C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\VC\Tools\MSVC\14.10.25017\bin\HostX64\x64

Ngoài ra còn có HostX86


3

Đầu tiên, thêm đường dẫn của các công cụ chung của studio trực quan ( c:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\Tools) vào đường dẫn hệ thống. Để tìm hiểu cách thêm đường dẫn vào đường dẫn hệ thống, vui lòng kiểm tra trang web này: http://www.computerhope.com/issues/ch000549.htm . Bạn chỉ cần điều này một lần.

Sau đó, bất cứ khi nào bạn cần, hãy mở một dòng lệnh và thực thi vsvars32.batđể thêm tất cả các đường dẫn của công cụ phòng thu trực quan cần thiết vào đường dẫn hệ thống.

Sau đó, bạn có thể gọi nmake -f makefile.mak

PS: Đường dẫn của các công cụ phổ biến trong phòng thu trực quan có thể khác trong hệ thống của bạn. Hãy thay đổi nó cho phù hợp.


3

Nếu nó là "NMake Makefile", nghĩa là cú pháp và lệnh tương thích với NMake, nó sẽ hoạt động tự nhiên trên Windows. Thông thường Makefile.win( .winhậu tố) cho biết đây là một tệp tương thích với Windows NMake. Vì vậy, bạn có thể thửnmake -f Makefile.win .

Thông thường các Makefile Linux tiêu chuẩn được cung cấp và có NMakevẻ đầy hứa hẹn. Tuy nhiên, liên kết sau đây có Linux Makefile đơn giản và giải thích một số vấn đề cơ bản mà người ta có thể gặp phải. Nó cũng gợi ý một vài lựa chọn thay thế để xử lý Linux Makefiles trên Windows.

Makefiles trong Windows


1

Tôi đã thử với cygwin & gnuwin, và tôi đã không làm việc cho tôi, tôi đoán vì makefile sử dụng mã linux cụ thể.

Những gì nó hoạt động là sử dụng Ubuntu Bash cho Windows 10 . Đây là một Marvel nếu bạn đến từ MAC vì đây là trường hợp của tôi:

  1. Để cài đặt Ubuntu Bash: https://itsfoss.com/install-bash-on-windows/
  2. Khi ở trong bàn điều khiển, để cài đặt, chỉ cần gõ "make" và nó đưa ra hướng dẫn để tải xuống.

Ngoài ra:

  1. Hữu ích cho phép sao chép / dán trên bash: Sao chép Dán trong Bash trên Ubuntu trên Windows
  2. Trong trường hợp của tôi, make được gọi là Maven, vì vậy tôi cũng phải cài đặt nó: https://askubfox.com/questions/722993/unable-to-locate-package-maven
  3. Để truy cập hệ thống tập tin windows C: ổ đĩa, ví dụ: "cd / mnt / c /"

Hy vọng nó giúp


0

Tôi sử dụng bộ công cụ MinGW cung cấp mingw32-makecông cụ xây dựng, nếu bạn có nó trong PATHbiến hệ thống của mình , trong Windows Command Prompt chỉ cần đi vào thư mục chứa các tệp và gõ lệnh này:

mingw32-make -f Makefile.win

và nó đã được thực hiện.


Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.