कैसे विंडोज 7 मशीन पर जीसीसी स्थापित करने के लिए?


119

मैं अपनी खिड़कियों 7 मशीन पर MinGW है। मैं सी कंपाइलर के लिए पूरा जीसीसी स्थापित और उपयोग करना चाहता हूं। मैंने पाया कि इस उद्देश्य के लिए कोई पूर्व-संकलित रेडी-मेड इंस्टॉलेशन फ़ाइल नहीं है। मैंने निम्नलिखित पृष्ठ की जाँच की: http://gcc.gnu.org/install/ यह मुश्किल है और मुझे यह मेरी समझ के स्तर से ऊपर लगता है। क्या कोई मुझे लिंक के साथ कदम से कदम मार्गदर्शन प्रदान कर सकता है?

जवाबों:


97

EDIT चूंकि अभी तक हाल ही में ऐसा नहीं हुआ है, MinGW-w64 ने टूलचेन बिल्डिंग प्रोजेक्ट्स में से एक को "अवशोषित" किया है। डाउनलोड यहां देखे जा सकते हैं । इंस्टॉलर को काम करना चाहिए, और आपको एक संस्करण चुनने की अनुमति चाहिए जो आपको चाहिए।

नोट Qt SDK समान टूलकिन के साथ आता है। इसलिए यदि आप Qt में विकसित कर रहे हैं और SDK का उपयोग कर रहे हैं, तो बस टूलकिन का उपयोग करें जो इसके साथ आता है।

टूलचिन्स की तारीख तक एक और विकल्प आता है ... हहर ... एक Microsoft डेवलपर, एसटीएल (स्टीफ़न टी। लावेज के अलावा और कोई नहीं, MSVC ++ स्टैंडर्ड लाइब्रेरी के रखवाले के लिए एक स्पॉट-ऑन नाम नहीं है!)। आप इसे यहाँ पा सकते हैं । इसमें बूस्ट शामिल है।

एक और विकल्प जो अत्यधिक उपयोगी है यदि आप प्रीबिल्ट निर्भरता के लिए देखभाल करते हैं तो MSYS2 है , जो यूनिक्स शेल (विंडोज पथनाम और इस तरह के साथ बेहतर काम करने के लिए एक Cygwin कांटा) प्रदान करता है, एक GCC भी प्रदान करता है। यह आमतौर पर थोड़ा पीछे रह जाता है, लेकिन इसकी भरपाई इसके अच्छे पैकेज प्रबंधन प्रणाली और स्थिरता द्वारा की जाती है। यदि आप ऐसी चीज़ की परवाह करते हैं, तो वे libc ++ के साथ एक कार्यात्मक क्लैंग भी प्रदान करते हैं।

मैं संदर्भ के लिए नीचे छोड़ता हूं, लेकिन मैं नीचे दिए गए सीमाओं के कारण MinGW.org का उपयोग करने के खिलाफ दृढ़ता से सुझाव देता हूं। TDM-GCC (MinGW-w64 संस्करण) कुछ हैक प्रदान करता है जो आपको आपकी विशिष्ट स्थिति में उपयोगी लग सकते हैं, हालांकि मैं अधिकतम अनुकूलता के लिए हर समय वेनिला GCC का उपयोग करने की सलाह देता हूं।


विंडोज के लिए जीसीसी वर्तमान में दो परियोजनाओं द्वारा प्रदान किया गया है। वे दोनों विंडोज एसडीके (हेडर और लाइब्रेरी) का बहुत ही कार्यान्वयन प्रदान करते हैं जो आवश्यक है क्योंकि जीसीसी विज़ुअल स्टूडियो फाइलों के साथ काम नहीं करता है।

  1. पुराने mingw.org, जो @Mat ने आपको पहले ही बताया था। वे केवल 32-बिट संकलक प्रदान करते हैं। यहाँ डाउनलोड के लिए आप की जरूरत है देखें:

    • Binutils लिंकर और संसाधन संकलक आदि हैं।
    • जीसीसी संकलक है, और कोर और भाषा संकुल में विभाजित है
    • GDB डिबगर है।
    • रनटाइम लाइब्रेरी केवल mingw.org के लिए आवश्यक है
    • आपको mingw32 डाउनलोड करना होगा।
    • समर्थन के लिए, आप (दोस्ताना जवाब की उम्मीद नहीं) mingw-users@lists.sourceforge.net की कोशिश कर सकते हैं

    वैकल्पिक रूप से, मिंगवॉ-डाउनलोड करें और इसका उपयोग करें।

  2. नए mingw-w64, जो नाम के रूप में भविष्यवाणी करता है, 64-बिट संस्करण भी प्रदान करता है, और भविष्य में उम्मीद है कि कुछ एआरएम समर्थन करते हैं। मैं इसका उपयोग करता हूं और उनके CRT के साथ टूलचिन का निर्माण करता हूं। व्यक्तिगत और ऑटो बिल्ड यहाँ "Win32 / 64 को लक्षित करने वाले टूलकिन्स" के तहत पाए जाते हैं । वे लिनक्स को विंडोज क्रॉस-कंपाइलर भी प्रदान करते हैं। मेरा सुझाव है कि आप पहले एक व्यक्तिगत निर्माण का प्रयास करें, वे अधिक पूर्ण हैं। GCC 4.6 से 4.8 के लिए मेरा (rubenvb) आज़माएं, या GCC 4.4 और 4.5 के लिए सेज़रो का उपयोग करें। हम दोनों 32-बिट और 64-बिट देशी टूलचिन प्रदान करते हैं। इन पैकेजों में ऊपर सूचीबद्ध सभी चीजें शामिल हैं। मैं वर्तमान में "MinGW- बिल्ड" बनाने की सलाह देता हूं, क्योंकि ये वर्तमान में "आधिकारिक बिल्ड" के रूप में स्वीकृत हैं, और एक इंस्टॉलर के साथ आते हैं (ऊपर देखें)।

    समर्थन के लिए, mingw-w64-public@lists.sourceforge.net पर ईमेल भेजें या sourceforge.net के माध्यम से फोरम पर पोस्ट करें।

दोनों प्रोजेक्ट्स में उनकी फाइलें सोर्सफोर्ज पर सूचीबद्ध हैं, और आपको बस इतना करना है कि इंस्टॉलर (mingw.org के मामले में) चलाएं या एक उपयुक्त ज़िप्ड पैकेज डाउनलोड करें और इसे निकालें (mingw-w64 के मामले में)।

"गैर-आधिकारिक" टूलचैन बिल्डरों के बहुत सारे हैं, सबसे लोकप्रिय में से एक TDM-GCC है। वे ऐसे पैच का उपयोग कर सकते हैं जो आधिकारिक / अप्रकाशित टूलचिन्स के साथ द्विआधारी संगतता को तोड़ते हैं, इसलिए उनका उपयोग करके सावधान रहें। आधिकारिक रिलीज़ का उपयोग करना सबसे अच्छा है।


6
आपका उत्तर निश्चित रूप से पूर्ण दिखता है, लेकिन मुझे यह सब नहीं मिलता है। आपके उत्तर में बहुत सी शर्तें मेरे लिए नई हैं .. मेरा इरादा जीसीसी सी संकलक, लिंकर, हेडर फाइलें और लाइब्रेरी फाइलें प्राप्त करना है। मैंने जीसीसी 4.6 के लिए आपका व्यक्तिगत निर्माण डाउनलोड किया है। अब मैं आगे क्या करूँ? कृपया मेरे साथ सहन करें :-)
KawaiKx

9
@ सौरभ: कोई बात नहीं, मैंने शब्दों के मामले में सही होने की कोशिश की। अब आप पैकेज को निकालते हैं, उदाहरण के लिए C:` so that C: \ mingw64 \ bin` (या C: \ mingw32 \ bin ) contains gcc.exe . Then, open a cmd.exe command prompt, and execute सेट PATH = C: \ mingw64 \ bin;% PATH% `)। इसके बाद आप mingw32 पर कॉल कर पाएंगे। -मेक, gcc, gdb, आदि को उस कमांडलाइन से। प्रोग्राम का उपयोग करके (जैसे cmake, Qt Creator, Codeblocks) को भी PATH में इसकी आवश्यकता होती है। यदि आपको सिस्टम / उपयोगकर्ता-व्यापी PATH परिवर्तन की आवश्यकता है, तो कंट्रोल पैनल पर जाएं-> सिस्टम। ->
उन्नत-

1
हो गया। अच्छा काम कर रहा है। बहुत बहुत धन्यवाद .. क्यों विंडोज़ मशीन पर gcc संकलक स्थापित करने में इतनी परेशानी है? यह मूल रूप से x86 मंच के लिए नहीं था?
KawaiKx

4
विंडोज के लिए GCC / binutils से संबंधित अधिकांश 4-5 डेवलपर्स हैं। वे बहुत अच्छा काम करते हैं, लेकिन अपने उपकरणों को देने के लिए इसे समुदाय पर छोड़ देते हैं। यहां गलत न समझें: टीडीएम लंबे समय से रहा है और एक आसान इंस्टॉलर प्रदान करता है, लेकिन कॉपीराइट मुद्दों के कारण वह पैच अपस्ट्रीम जमा नहीं करता है। कोडब्लॉक्स आईडीई के साथ एक मिनगॉव टूलकिन वितरित करता है, इसलिए क्यूटी। लेकिन उनमें से कोई भी 64-बिट :) वितरित करता है। जीसीसी का निर्माण करने के लिए खुद को यूनिक्स वातावरण की आवश्यकता होती है, जैसे साइगविन / एमएसवाईएस, या इससे भी बेहतर: लिनक्स। निर्माण प्रक्रिया सीधी नहीं है। लेकिन एक बार जब आप जानते हैं कि क्या करना है, तो इसे स्थापित करने में बहुत परेशानी नहीं है।
रूबनेव

1
@rubenvb, मैंने देखा कि Mingw64 में अब एक इंस्टॉलर है जो आपको सामान बाहर निकालने की अनुमति देता है। क्या यह व्यक्तिगत निर्माण प्राप्त करने की तुलना में एक बुरा विचार है?
बैटब्रैट

26

Mingw डाउनलोड करें और बस जारी करें:

mingw-get install gcc.

प्रारंभ करना पृष्ठ देखें ।


2
यह संस्थापन gcc मानक C लाइब्रेरी को स्थापित नहीं करता है .. इसके बजाय यह msvcr *** का उपयोग करता है। a। ऐसा क्यों? यह इसलिए है क्योंकि गैर मानक सी लाइब्रेरी में नॉन- x86 चिप्स के लिए ऑब्जेक्ट कोड होते हैं?
कावईएक्स

3
खिड़कियों पर जीसीसी का मिनगॉव बंदरगाह विंडोज़ मानक सी लाइब्रेरी का उपयोग करता है। यदि आप किसी अन्य C लाइब्रेरी का उपयोग करना चाहते हैं, तो cygwin (newlib का उपयोग करता है) को देखें। यकीन नहीं है कि आपको विंडोज पर GLIBC मिलने का सौभाग्य प्राप्त होगा (मैं वास्तव में इस बिंदु को नहीं देखता हूं)।
चटाई

1
"खिड़कियों पर जीसीसी के मिनगॉव बंदरगाह" से आपका क्या अभिप्राय है? क्षमा करें, यह बेवकूफ लग सकता है, लेकिन मैं इन शब्दों के लिए नया हूं ..
कावईक्स

2
इसका मतलब है कि जीजीसी का संस्करण जो कि मिनगॉव द्वारा निर्मित और खिड़कियों के वातावरण को चलाने के लिए लक्षित है।
Mat

11
  1. पैकेज को C: \ से यहां से निकालें और इसे इंस्टॉल करें

  2. उस पथ की प्रतिलिपि बनाएँ C:\MinGW\binजिसमें gcc.exe सम्‍मिलित है।

  3. करने के लिए जाना Control Panel->System->Advanced>Environment variablesहै, और जोड़ सकते हैं या पथ को संशोधित। (बस 'के साथ संक्षिप्त;')

  4. फिर, open a cmd.exe command prompt(Windows + R और प्रकार cmd, यदि पहले से ही खोला गया है, तो कृपया मार्ग परिवर्तन प्राप्त करने के लिए एक नया बंद करें और खोलें)

  5. फ़ोल्डर को अपनी फ़ाइल पथ में बदलें cd D:\c code Path

  6. टाइप करें gcc main.c -o helloworld.o। यह कोड संकलित करेगा। के लियेC++ use g++

./helloworldप्रोग्राम को चलाने के लिए 7 प्रकार ।

अगर zlib1.dll गायब है, तो यहां से डाउनलोड करें


6

मैट के उत्तर पर (सिग्विन का उपयोग करें) के बाद, यहां कुछ विस्तृत निर्देश दिए गए हैं: विंडोज पर जीसीसी स्थापित करना जो पैकेज आप चाहते हैं वह जीसीबी, जीडीबी और मेक है। Cygwin इंस्टॉलर आपको अतिरिक्त पैकेज स्थापित करने देता है यदि आपको उनकी आवश्यकता है।


मैंने Cygwin और आवश्यक पैकेज स्थापित किए। मैंने विंडोज कमांड लाइन से यह भी सत्यापित किया है कि जीसीसी, जीडीबी और मेक सुलभ हैं। लेकिन फिर भी रेल रत्न की स्थापना एक ही त्रुटि के साथ विफल हो जाती है! क्या किसी ने सफलतापूर्वक विंडोज पर Cygwin और रेल की कोशिश की है?
विशाल बियानी

इसके अलावा, जब मैं gccकमांड प्रॉम्प्ट पर दौड़ता हूं, तो मुझे पहुंच से वंचित कर दिया जाता है, निश्चित नहीं कि क्यों
विशाल बियानी

3
आजकल, मैं शायद ऑरेगैन के वर्चुअलबॉक्स ( virtualbox.org ) या VMWare जैसे सिग्विन के साथ जाऊंगा । फिर आप दोनों OS को एक ही मशीन पर चला सकते हैं। रेल्स के लिए, क्या आपने रेल्स इंस्टॉलर की कोशिश की है? railsinstaller.org
माइकल जूल

टिप @michaelok के लिए धन्यवाद, यह सुनिश्चित करने के लिए कोशिश करेंगे
विशाल बियानी

मुझे यह नहीं मिला, इसलिए मैंने इसे मुख्य Cygwin पेज पर अपडेट किया। इंस्टॉलर के बारे में क्या मुश्किल है सुनिश्चित करें कि आप सही पैकेज का चयन कर रहे हैं। निर्देश से, जिसके पास gcc के बारे में यह कहना है: "मूलभूत रूप से, setup.exe बेस पैकेज और उनकी निर्भरता में केवल संकुल स्थापित करेगा, जिसके परिणामस्वरूप एक न्यूनतम Cygwin इंस्टॉलेशन होगा। हालांकि, इसमें कई सामान्य रूप से उपयोग किए जाने वाले टूल शामिल नहीं होंगे। gcc के रूप में (जिसे आप देवल श्रेणी में पाएंगे) "
michaelok

1

मैं विंडोज पर gcc स्थापित करने के लिए msysgit का उपयोग करता हूं, इसमें एक अच्छा इंस्टॉलर है जो आपको सबसे अधिक जरूरत है जो सब कुछ स्थापित करता है। अधिकांश देवता को केवल संकलक से अधिक की आवश्यकता होगी, उदाहरण के लिए शेल, शेल टूल्स, मेक, गिट, स्वन, आदि। https://msysgit.github.io/

संपादित करें: मैं अब msys2 का उपयोग कर रहा हूं। Msys2 pacmanपैकेज को स्थापित करने के लिए आर्क लिनक्स से उपयोग करता है, और इसमें तीन वातावरण शामिल हैं, जिसमें msys2 एप्लिकेशन, 32-बिट देशी एप्स और 64-बिट देशी एप्स के निर्माण के लिए। (आप शायद 32-बिट देशी ऐप्स बनाना चाहते हैं।)

https://msys2.github.io/

आप फुल-मोंटी भी जा सकते हैं और कोड :: ब्लॉक या कुछ अन्य gui एडिटर इंस्टॉल कर सकते हैं जो एक कंपाइलर के साथ आता है। मैं विम का उपयोग करना और बनाना पसंद करता हूं।


क्या msysgit अभी भी आपके लिए काम करता है? वह URL विंडोज के लिए Git पर रीडायरेक्ट करता है जहां मुझे gcc का कोई उल्लेख नहीं दिखता है। मेरे पास विंडोज के लिए गिट के साथ दुर्भाग्य है, लेकिन यह एक और कहानी हो सकती है। इसके अलावा संदेश है "एमएसजीटिट को विंडोज 2.x के लिए गिट द्वारा अधिगृहीत किया गया है"
बॉब स्टीन

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