Windows'ta "make" nasıl kurulur ve kullanılır?


127

Deposunu makineme klonladığım birinin talimatlarını takip ediyorum. İstediğim şey basit: makekomutu kod ortamını kurmanın bir parçası olarak kullanabilmek . Ancak Windows kullanıyorum ve yalnızca indirilecek make.exe dosyasını, indirilecek bir make-4.1.tar.gzdosyayı (bundan sonra ne yapacağımı bilmiyorum) ve MinGW'yi indirmeyle ilgili şeyleri (GNU için; ancak kurduktan sonra "make" den söz etmedim).

Bir GNU derleyicisi veya ilgili şeyler istemiyorum; Windows'ta yalnızca "make" kullanmak istiyorum. Lütfen bunu başarmak için ne yapmam gerektiğini söyle.

Şimdiden teşekkürler!


1
Yalnızca yüklemenin makesorununuzu çözmesi pek olası değildir. Birçok Makefile, Unix benzeri sistemler için yazılmıştır ve Cygwin gibi önemli miktarda ek yardımcı program yüklemenizi (proje derlenmiş kod içeriyorsa desteklenen bir derleyici dahil) veya gerçekten özgür olamıyorsanız WSL gibi bir platforma geçmenizi gerektirir. tamamen Windows'tan kendiniz.
üçlü

Yanıtlar:


159

makebir GNU komutudur, bu yüzden onu Windows'ta almanın tek yolu GNUWin32 tarafından sağlanan gibi bir Windows sürümünü kurmaktır . Veya MinGW'yi kurabilir ve ardından şunları yapabilirsiniz :

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

veya PATH'inizde gerçek yürütülebilir dosyaya bir bağlantı oluşturun. Bu durumda, MinGW'yi güncellerseniz, bağlantı silinmez:

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

Diğer seçenek Chocolatey kullanıyor . Öncelikle bu paket yöneticisini kurmanız gerekir. Kurulduktan sonra, basitçe yüklemeniz gerekir make:

choco install make

Son seçenek olan Linux için Windows Subsystem (WSL) yüklemeden Yüklemek mümkün olacak, Windows 10 gömülü istediğiniz bir Linux dağıtımı olacak, böylece make, gccyapı C programlarına ihtiyaç ve tüm araçları.


1
Teşekkürler! Ben bilmiyordum yapmak bir GNU komut oldu. Sağladığınız yolu kontrol ettim ve make.exe'yi buldum, ancak benzer bir yolda (C: \ MinGW \ msys \ 1.0 \ bin \ make.exe). Bunu PATH değişkenine ekledim ve işe yarıyor!
Hashem Elezabi

2
Basit bir yolu, bir sembolik oluşturmak olacaktır: mklink C:\bin\make.exe C:\MinGW\bin\mingw32-make.exe. Yani gelecekte mingw'nizi yükseltirseniz, bağlantı sağlam olacaktır.
kumarharsh

1
Sadece MSYS2 kullanarak kullanamadım mklink. MSYS2 en pacmanbir marka yükleyebilir pacman -S make, düzgün çalışmıyor . Bunun yerine, mingw32-make.exezaten mevcuttu msys64/mingw64/bin. Belki birlikte gönderilmiştir gcc. make.exeYine de neden sadece aranmadığı konusunda kafam karıştı . Sadece kopyaladım make.exe.
Neonit

2
Visual Studio'nun kendi 'make' yardımcı programını sunduğunu belirtmek faydalı olabilir nmake, bkz. Belgeye . VS komut isteminden kullanılabilir, ancak elbette onu yola ekleyebilirsiniz. Bununla birlikte, işlevlerin GNU make ile karşılaştırıldığında oldukça sınırlı olduğunu ve belgelerin neredeyse yok olduğunu unutmayın ...
jmon12

1
@notacorn türü, ancak "Windows" klasörlerinize her ikisinden de erişebilirsiniz. / C ile Git bash, / mnt / c ile WSL.
Eduardo Yáñez Parareda

186

GNU make chocolatey'de mevcuttur.

  • Chocolatey'i buradan yükleyin .

  • Ardından choco install make,.

Artık Make'i windows üzerinde kullanabileceksiniz.
MinGW'de kullanmayı denedim, ancak CMD'de de çalışması gerekiyor.


31
2019 itibarıyla en basit çözüm IMO.
My Stack Overfloweth

Not: Doğru proxy'yi kullanarakchoco config set proxy ADDRESS:PORT
weshouman

Ayrıca, çikolatanın bir yönetici powershell oturumu gerektirmesini sevmiyorsanız, kepçe de var: github.com/lukesampson/scoop/wiki/Chocolatey-Comparison
Jonathan Landrum

18

Kabul edilen cevap genel olarak kötü bir fikirdir, çünkü manuel olarak oluşturulanlar make.exeortalıkta kalır ve beklenmedik sorunlara neden olabilir. Aslında RubyInstaller'ı bozar: https://github.com/oneclick/rubyinstaller2/issues/105

Bir alternatif, make via Chocolatey'i kurmaktır (@Vasantha Ganesh K tarafından belirtildiği gibi)

Diğer bir alternatif yükleyen MSYS2 chocolatey gelen kullanılarak makeden C:\tools\msys64\usr\bin. Eğer makeMSYS2 ile otomatik olarak yüklenmez sen aracılığıyla manuel olarak yüklemeniz gerekir pacman -S make(@Thad Guidry ve @Luke tarafından sivri out gibi).


3
Bunu Chocolatey kullanarak kurdum ama içinde make.exe yok mu C:\tools\msys64\usr\bin?
Rosdi Kasim

1
pacman'i bu klasörde bulabilirsin, bundan sonra @thad'ın 3. adımını kullanın
Luke

8

Windows 10 kullanıyorsanız, Linux alt sistemi özelliğinde yerleşiktir. Yapmak ve yazmak istediğiniz dizine bir Bash istemi başlatın (Windows tuşuna basın, ardından bash"Windows üzerinde Ubuntu üzerinde Bash" yazın ve seçin) .cdmake

FWIW, Windows sürücüleri bulunur /mnt, örneğin C:\sürücü /mnt/cBash'de.

Bash, başlat menünüzden kullanılamıyorsa, bu Windows özelliğini açmaya ilişkin talimatları burada bulabilirsiniz (yalnızca 64 bit Windows):

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


4
Linux alt sistemi, Windows 10 Home'da kullanılamaz.
Martin Gray

Win10 Home ver.1809 cihazımda Linux için Windows Alt Sistemini (özellikle, Microsoft Store'dan indirilen Ubuntu 20.04 LTS) son iki aydır sorunsuz bir şekilde kullanıyorum. Make'den bahsetmişken, önce bash'ı başlatmadan doğrudan Windows Terminal penceresinden bana ulaşabilir. Temiz.
Igor Soudakevitch


5

Make.exe dosyasını resmi siteleri GnuWin32'den indirin

  • İndirme oturumunda, kaynaklar hariç Paketi tamamla'yı tıklayın .

  • Kurulum talimatlarını izleyin.

  • Bitirdiğinizde, <installation directory>/bin/PATH değişkenine ekleyin .

Artık make'i cmd'de kullanabileceksiniz.


Lütfen dizini PATH değişkenine nasıl ayarlayacağım konusunda bana yardım eder misiniz?
shomit

3

Diğer bir alternatif ise, minGW'yi önceden yüklediyseniz ve bin klasörünü Yol ortam değişkenine eklediyseniz, "make" yerine "mingw32-make" kullanabilirsiniz.

Ayrıca, "make" ten "mingw32-make" e bir sembolik bağlantı oluşturabilir veya dosyanın adını kopyalayıp değiştirebilirsiniz. Seçenekleri daha önce önermem, minGW'de değişiklik yapana kadar çalışacaklar.


"Önceki seçeneklerle" ne demek istediğini belirtebilir misin?
Jona

1

Adım adım bir yaklaşım önerebilirim.

  1. GNUwin'i ziyaret edin
  2. Kurulum Programını İndirin
  3. Talimatları izleyin ve GNUWin'i kurun. Uygulamanızın kurulduğu dizine dikkat etmelisiniz. (Daha sonra ihtiyacınız olacak1)
  4. Bu talimatları izleyin ve ortam değişkenlerinize make ekleyin. Daha önce de söylediğim gibi, şimdi uygulamanızın nerede kurulduğunu bilmenin zamanı geldi. Bilginize: Varsayılan dizin C:\Program Files (x86)\GnuWin32\.
  5. Şimdi, PATH'i yeni yüklenen programın bin dizinini içerecek şekilde güncelleyin. Yola neler eklenebileceğine dair tipik bir örnek:...;C:\Program Files (x86)\GnuWin32\bin

0

Komut satırı öykünücüsü cmder'i kullanmak istiyorsanız yardımcı olabilecek bir çözüm. Paket yükleyiciyi isteğe bağlı olarak kurabilirsiniz. Öncelikle aşağıdaki satırı kullanarak Windows komut istemine chocately kuruyoruz:

@"%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 kurulduktan sonra, choco komutu make'i kurmak için kullanılabilir. Kurulduktan sonra /cmder/config/user_aliases.cmd'ye bir takma ad eklemeniz gerekir. Aşağıdaki satır eklenmelidir:

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

Make daha sonra cmder ortamında çalışacaktır.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.