विंडोज में "मेक" कैसे स्थापित करें और उपयोग करें


125

मैं किसी ऐसे व्यक्ति के निर्देशों का पालन कर रहा हूं जिसका रिपॉजिटरी मैंने अपनी मशीन पर क्लोन किया था। मैं जो चाहता हूं वह सरल है: makeकोड वातावरण की स्थापना के भाग के रूप में कमांड का उपयोग करने में सक्षम होना । लेकिन मैं विंडोज़ का उपयोग कर रहा हूं, और मैंने केवल एक ऑनलाइन खोज करने के लिए एक मेकिंग फ़ाइल डाउनलोड करने के लिए खोज की है, एक make-4.1.tar.gzफ़ाइल डाउनलोड करने के लिए (मुझे नहीं पता कि इसके साथ आगे क्या करना है), और मिनगडब्ल्यू (जीएनयू के लिए) डाउनलोड करने के बारे में बातें; इसे स्थापित करने के बाद मुझे "मेक" का कोई उल्लेख नहीं मिला)।

मुझे GNU कंपाइलर या संबंधित सामान नहीं चाहिए; मैं केवल विंडोज में "मेक" का उपयोग करना चाहता हूं। कृपया मुझे बताएं कि उसे पूरा करने के लिए मुझे क्या करना चाहिए।

अग्रिम में धन्यवाद!


1
केवल स्थापित करने makeसे आपकी समस्या का समाधान होने की संभावना नहीं है। यूनिक्स जैसी प्रणालियों के लिए कई मेकफाइल्स लिखे गए हैं और आपको अतिरिक्त उपयोगिताओं की एक महत्वपूर्ण राशि स्थापित करने की आवश्यकता होगी (एक समर्थित कंपाइलर सहित यदि परियोजना में संकलित कोड शामिल है) जैसे कि सिग्विन, या बस डब्ल्यूएसएल जैसे प्लेटफॉर्म पर स्विच करना यदि वास्तव में मुक्त नहीं किया जा सकता है खुद को पूरी तरह से विंडोज से।
ट्रिपल जू

जवाबों:


157

makeएक GNU कमांड है, इसलिए आप इसे विंडोज पर प्राप्त कर सकते हैं एक ही तरीका है कि आप GNUWin32 द्वारा उपलब्ध कराए गए विंडोज संस्करण को स्थापित कर रहे हैं । या आप MinGW स्थापित कर सकते हैं और फिर कर सकते हैं:

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

या अपने पथ में, वास्तविक निष्पादन योग्य के लिए एक लिंक बनाएँ। इस स्थिति में, यदि आप MinGW को अपडेट करते हैं, तो लिंक हटाया नहीं गया है:

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

अन्य विकल्प चॉकलेट का उपयोग कर रहा है । पहले आपको इस पैकेज प्रबंधक को स्थापित करने की आवश्यकता है। एक बार स्थापित करने के बाद आपको स्थापित करने की आवश्यकता है make:

choco install make

अंतिम विकल्प लिनक्स (डब्लूएसएल) के लिए एक विंडोज सबसिस्टम स्थापित कर रहा है , इसलिए आपके पास विंडोज 10 में एम्बेडेड अपनी पसंद का लिनक्स वितरण होगा जहां आप इंस्टॉल करने में सक्षम होंगे make, gccऔर सभी उपकरण जिन्हें आपको सी प्रोग्राम बनाने की आवश्यकता है।


1
धन्यवाद! मुझे नहीं पता था मेकअप एक जीएनयू आदेश था। मैंने आपके द्वारा प्रदान किए गए पथ की जाँच की और Make.exe पाया, लेकिन एक समान पथ में (C: \ MinGW \ msys \ 1.0 \ bin \ ex.exe)। मैंने इसे पाथ चर में जोड़ा और यह काम करता है!
हशम एलेजाबी

2
एक सरल तरीका एक सिमलिंक बनाना होगा mklink C:\bin\make.exe C:\MinGW\bin\mingw32-make.exe:। इसलिए भविष्य में यदि आप अपने मिंगव को अपग्रेड करते हैं, तो लिंक बरकरार रहेगा।
कुमारहर्ष

1
सिर्फ MSYS2 का उपयोग कर मैं उपयोग करने में सक्षम नहीं था mklink। MSYS2 pacmanएक मेक को स्थापित कर सकता है pacman -S make, जो सही तरीके से काम नहीं कर रहा है । इसके बजाय, mingw32-make.exeपहले से ही मौजूद था msys64/mingw64/bin। शायद यह साथ भेज दिया gcc। मैं उलझन में हूं कि इसे सिर्फ क्यों नहीं बुलाया गया है make.exe। मैंने अभी इसकी कॉपी की है make.exe
नियोनिट

2
शायद यह उल्लेख करने के लिए उपयोगी है कि विज़ुअल स्टूडियो अपने स्वयं के 'मेक' उपयोगिता को जहाज करता है nmake, डॉक्टर को देखें । यह वीएस कमांड प्रॉम्प्ट से प्रयोग करने योग्य है, लेकिन आप निश्चित रूप से इसे पथ में जोड़ सकते हैं। नोट करें कि GNU मेक की तुलना में फंक्शन्स काफी सीमित हैं, और डॉक्यूमेंटेशन लगभग न के बराबर है ...
jmon12

1
@notacorn तरह की, लेकिन आप अपने "विंडोज" फ़ोल्डरों को उन दोनों से एक्सेस कर सकते हैं। Git bash with / c, WSL with / mnt / c।
एडुआर्डो यानेज पैरेडा

186

चॉकलेट पर GNU मेक उपलब्ध है।

अब आप मेक ऑन विंडो का उपयोग कर पाएंगे।
मैंने इसका उपयोग MinGW पर करने की कोशिश की है, लेकिन इसे CMD पर भी काम करना चाहिए।


31
2019 तक सबसे सरल समाधान IMO है।
मेरा स्टैक

क्या कोई कारण है कि यह बाश में काम नहीं करेगा? @ विश्वनाथ
प्रयोक्ता ३६१४६४

नोट: एक का उपयोग कर सही प्रॉक्सी से सेट करना होगाchoco config set proxy ADDRESS:PORT
weshouman

अगर आपको यह पसंद नहीं है तो स्कूप भी हो सकता है कि कैसे चॉकलेट को एक व्यवस्थापक अधिकार सत्र की आवश्यकता है: github.com/lukesampson/scoop/wiki/Chatalogy-Comparison
जोनाथन लैंडरम

18

स्वीकृत उत्तर सामान्य रूप से एक बुरा विचार है क्योंकि मैन्युअल रूप से निर्मित make.exeचारों ओर चिपक जाएगा और संभावित रूप से अप्रत्याशित समस्याएं पैदा कर सकता है। यह वास्तव में RubyInstaller को तोड़ता है: https://github.com/oneclick/rubyinstaller2/issues/105

चॉकलेट के माध्यम से एक विकल्प स्थापित कर रहा है (जैसा कि @Vasantha गणेश के द्वारा बताया गया है)

एक अन्य विकल्प चॉकलेट से MSYS2 स्थापित कर रहा है और से उपयोग कर रहा makeहै C:\tools\msys64\usr\bin। यदि makeMSYS2 के साथ स्वचालित रूप से इंस्टॉल नहीं किया गया है, तो आपको इसे मैन्युअल रूप से इंस्टॉल करना होगा pacman -S make(जैसा कि @Thad Guidry और @Luke द्वारा बताया गया है)।


3
मैंने इसको Chocolatey का उपयोग करके स्थापित किया है लेकिन इसमें कोई Make.exe नहीं है C:\tools\msys64\usr\bin??
रोज़दी कासिम

1
आप उस फ़ोल्डर में pacman पा सकते हैं, उसके बाद @thad
ल्यूक

8

यदि आप विंडोज 10 का उपयोग कर रहे हैं, तो इसे लिनक्स सबसिस्टम फीचर में बनाया गया है। बस एक बैश प्रॉम्प्ट लॉन्च करें (विंडोज कुंजी दबाएं, फिर टाइप करें bashऔर "बैश ऑन उबंटू ऑन विंडोज"), cdउस निर्देशिका को चुनें जिसे आप बनाना चाहते हैं और टाइप करें make

एफडब्ल्यूआईडब्ल्यू, विंडोज ड्राइव में पाए जाते हैं /mnt, जैसे C:\ड्राइव /mnt/cबैश में है।

यदि बैश आपके प्रारंभ मेनू से उपलब्ध नहीं है, तो उस विंडोज फीचर को चालू करने के निर्देश हैं (केवल 64-बिट विंडोज):

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


4
विंडोज 10 होम पर लिनक्स सबसिस्टम अनुपलब्ध है।
मार्टिन ग्रे

मैं पिछले दो महीनों से अपने Win10 Home ver.1809 पर लिनक्स (विशेष रूप से, Ubuntu 20.04 LTS, Microsoft स्टोर से डाउनलोड) के लिए विंडोज सबसिस्टम का उपयोग कर रहा हूं, चाहे वह किसी भी समस्या के बिना हो। मेक की बात करें, तो यह मेरे लिए सीधे विंडोज टर्मिनल विंडो के अंदर से उपलब्ध है, बिना पहले लॉन्च किए बिना। साफ।
इगोर सौडेकेविच


5

अपनी आधिकारिक साइट GnuWin32 से make.exe डाउनलोड करें

  • डाउनलोड सत्र में, स्रोतों को छोड़कर, पूर्ण पैकेज पर क्लिक करें

  • स्थापना निर्देशों का पालन करें।

  • समाप्त होने के बाद, <installation directory>/bin/पाथ चर में जोड़ें ।

अब आप मेक इन सेमी का उपयोग कर पाएंगे।


क्या आप कृपया मेरी मदद कर सकते हैं कि निर्देशिका को पैठ चर में कैसे सेट करें।
शोमित

3

एक अन्य विकल्प यह है कि यदि आपने पहले से ही मिनग डब्ल्यू स्थापित किया है और बिन फ़ोल्डर को पथ पर्यावरण चर में जोड़ा है, तो आप "मेकवॉच-मेक" का उपयोग "मेक" के बजाय कर सकते हैं।

आप "मेक" से "mingw32- मेक", या फ़ाइल का नाम बदलने और कॉपी करने और बदलने के लिए एक सिमलिंक भी बना सकते हैं। मैं पहले विकल्पों की सिफारिश नहीं करूंगा, वे तब तक काम करेंगे जब तक कि आप minGW पर बदलाव नहीं करेंगे।


क्या आप निर्दिष्ट कर सकते हैं कि "पहले के विकल्प" से आपका क्या मतलब है?
जोना

1

मैं एक कदम से कदम दृष्टिकोण का सुझाव दे सकता है।

  1. GNUwin पर जाएं
  2. सेटअप प्रोग्राम डाउनलोड करें
  3. निर्देशों का पालन करें और GNUWIN स्थापित करें। आपको उस निर्देशिका पर ध्यान देना चाहिए जहां आपका एप्लिकेशन इंस्टॉल किया जा रहा है। (आपको बाद में इसकी आवश्यकता होगी)
  4. इन निर्देशों का पालन करें और अपने पर्यावरण चर में जोड़ें। जैसा कि मैंने आपको पहले बताया था, अब यह जानने का समय है कि आपका आवेदन कहाँ स्थापित किया गया था। FYI करें: डिफ़ॉल्ट निर्देशिका हैC:\Program Files (x86)\GnuWin32\
  5. अब, नए स्थापित प्रोग्राम के बिन डायरेक्टरी को शामिल करने के लिए PATH को अपडेट करें। पथ में कोई भी क्या जोड़ सकता है, इसका एक विशिष्ट उदाहरण है:...;C:\Program Files (x86)\GnuWin32\bin

0

एक समाधान जो सहायक हो सकता है यदि आप कमांड लाइन एमुलेटर सीडर का उपयोग करना चाहते हैं। आप पैकेज इंस्टॉलर को पूरी तरह से स्थापित कर सकते हैं। पहले हम निम्न लाइन का उपयोग करके विंडोज़ कमांड प्रॉम्प्ट में पूरी तरह से स्थापित करते हैं:

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

चॉकलेट स्थापित होने के बाद चोको कमांड का उपयोग मेक को स्थापित करने के लिए किया जा सकता है। एक बार स्थापित होने के बाद, आपको /cmder/config/user_aliases.cmd में एक उपनाम जोड़ना होगा। निम्नलिखित पंक्ति को जोड़ा जाना चाहिए:

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

मेक इन सीडर वातावरण में काम करेगा।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.