में जीसीसी चल रहा है मैंने अपने सिस्टम पर सिग्विन स्थापित किया है। लेकिन जब मैं gcc
आदेश का उपयोग करने की कोशिश यह कहते हैं:साइगविन
bash: gcc: command not found
किसी को भी मुझे, समाधान प्रदान कर सकते हैं, कृपया?
में जीसीसी चल रहा है मैंने अपने सिस्टम पर सिग्विन स्थापित किया है। लेकिन जब मैं gcc
आदेश का उपयोग करने की कोशिश यह कहते हैं:साइगविन
bash: gcc: command not found
किसी को भी मुझे, समाधान प्रदान कर सकते हैं, कृपया?
योग्य कुछ बातें:
मैं हमेशा पूरे Cygwin पैकेज स्थापित। पहले के संस्करणों में निर्भरता के साथ परेशानी थी जो अब तय की गई हैं, मुझे विश्वास है, लेकिन यह अभी भी एक अच्छी आदत है। आप कभी नहीं जानते कि आपको सिगविन के सबसे गूढ़ बिट की आवश्यकता हो सकती है।
आपको अपना रास्ता बदलना पड़ सकता है। यदि आप सिग्विन बैश खोल के अंदर चल रहे हैं तो सभी टूल आमतौर पर ठीक हो सकते हैं लेकिन यह आवश्यक नहीं है कि cmd.exe
से मामला आवश्यक न हो।
यह अपने त्रुटि संदेश bash
से ही आ रहा है के बाद से है कि पिछले एक होने की संभावना नहीं है, तो मैं बहुत कुछ है कि आप इसे कैसे चला रहे हैं रहा हूँ।
pax> echo $PATH
/usr/local/bin:/usr/bin:/bin:/cygdrive/c/WINDOWS/system32:/cygdrive/c/WINDOWS
pax> which gcc
/usr/bin/gcc
यदि यह वहाँ नहीं है, वापस जाने के लिए और सब कुछ फिर से स्थापित (या प्रासंगिक विकास पैकेज यदि:
सुनिश्चित करें कि आप bash
के भीतर से /usr/bin/gcc
है और अपना रास्ता कहीं /usr/bin
शामिल है कि बनाने के लिए एक नज़र आप सबकुछ नहीं चाहते हैं)। यदि यह वहां है और आपके पथ का स्थान नहीं है, तो /etc/profile
या अपने घर निर्देशिका में समकक्ष, अपना पथ बदलें।
ऐसा इसलिए हो सकता है क्योंकि आप कंपाइलर उपसर्ग खो रहे हैं।
डिफ़ॉल्ट रूप से अधिकांश मेकफ़ाइल gcc.exe
की तलाश में जा रहे हैं। यदि आप एक अलग कंपाइलर का उपयोग कर रहे हैं, तो i686-pc-mingw32-gcc.exe
कहें, तो make
इसे तब तक नहीं ढूंढ पाएगा जब तक आप इसे नहीं बताते। आप
PREFIX=i686-pc-mingw32-
make CC=${PREFIX}gcc
मेरी स्थापना में कोई सामान्य gcc
आदेश या तो नहीं था की तरह कुछ कर सकते हैं, तो मैं इसके लिए एक सिमलिंक बनाया:
cd /usr/bin
ln -s i686-pc-cygwin-gcc-3.4.4.exe gcc
अब जाँच अगर यह कार्य करके काम किया which gcc
जो आपको /usr/bin/gcc
देना चाहिए और फिर gcc
आपको gcc: no input files
देना चाहिए। ध्यान दें कि i686-pc-cygwin-gcc-3.4.4.exe का आपका संस्करण अलग हो सकता है। इसके लिए/usr/bin में चेक करें।
साइगविन की स्थापना के दौरान हो सकता है आपने जीसीसी, जीडीबी और पैकेज नहीं बनाया है। तो इस Resolving gcc command not found लिंक में दिए गए चरणों का पालन करने का प्रयास करें। आपकी समस्या हल हो सकती है।
मुझे एक ही समस्या थी और इसे उपरोक्त चरणों का उपयोग करके हल किया गया था।
एक अन्य संबंधित समस्या जिसका उल्लेख यहां नहीं किया गया था, कमांड लाइन से संकलक को सी ++ हेडर फ़ाइलों के स्थान को खोजने के लिए अद्यतन पर्यावरण पथ चर की आवश्यकता होती है। विंडोज़ में आप 'उन्नत सिस्टम गुण' जीयूआई का उपयोग करके पथ पर्यावरण को अपडेट कर सकते हैं और सी ++ के स्थान को फाइलों को शामिल कर सकते हैं। यह विंडोज cmd & में पाथ पर्यावरण परिवर्तक को स्वचालित रूप से खोल को पुनरारंभ करने पर अपडेट करेगा।
लिनक्स या Cygwin खोल प्रकार ... पथ = $ पथ से अपने पथ अद्यतन करने के लिए:/your_path_here उदाहरण: पथ = $ पथ: /cygdrive/c/cygwin/lib/gcc/i686-pc-mingw32/4.7 .3/include/C++ भी शामिल निर्देशिका को जोड़ने के लिए भी एक अच्छा विचार है: PATH = $ PATH: /cygdrive/c/cygwin/lib/gcc/i686-pc-mingw32/4.7.3/include/ ... या अपनी स्थापना के स्थान के लिए उचित निर्देशिकाओं की जांच करें, मैं सिग्विन के साथ उपयोग के लिए mingw इंस्टॉल करने की अनुशंसा करता हूं, जो g ++ के साथ envoked है।
Cygwin में अतिरिक्त जरूरत संकुल स्थापित करने के लिए फिर से चलाने के Cygwin उपयोगिता & जांच स्थापित वेब खजाने से संकुल जोड़ सकते हैं और MinGW-जीसीसी-जी ++ & MinGW-binutils जोड़ने के लिए इंटरनेट से स्थापित करें। अपने कोड को संकलित करने के लिए: g ++ hello.cpp -o हैलो
यदि जीसीसी उपयोगिता का उपयोग करने के बजाय कमांड के साथ संकलित करें: gcc hello.cpp -o hello -lstdC++ ... अपने निष्पादन योग्य प्राप्त करने के लिए।
जब तक आपके पास या तो gcc या mingw इंस्टॉल हो और सी ++ के पथ में फ़ाइलें आपके पथ वातावरण में हों, तो आदेश काम करेंगे।
वहाँ गलती को पहचानना भी इस त्रुटि का कारण बन सकता है एक और मुश्किल है,
अपने Makefile PATH
चर के रूप में उपयोग करता है, gcc not found
त्रुटि भी हो सकता है।
ऐसा इसलिए है क्योंकि यह अस्थायी रूप से सिस्टम पथ को बदलता है।
मैंने इसे खोजने के लिए साइगविन पर्यावरण सेटिंग की जांच करने में बहुत समय लगाया, इसलिए अगर मैं यहां किसी को अपना रास्ता ढूंढने में मदद करता हूं तो मैं इसे यहां छोड़ दूंगा।
लिंक मर चुका है, यदि आप अभी भी उनके पास प्रासंगिक कदम उठा सकते हैं। – Nathan