Ubuntu पर GCC कैसे स्थापित करें और उपयोग करें: डेवलपर्स के लिए एक संपूर्ण गाइड

目次

1. परिचय

GCC क्या है?

GCC (GNU Compiler Collection) एक ओपन‑सोर्स कंपाइलर है जो कई प्रोग्रामिंग भाषाओं, जैसे C और C++ को संकलित कर सकता है। यह कई लिनक्स वितरणों के लिए मानक कंपाइलर के रूप में व्यापक रूप से उपयोग किया जाता है।

GCC की मुख्य विशेषताएँ:

  • C, C++, Fortran, और Java जैसी कई भाषाओं को समर्थन देता है।
  • ओपन‑सोर्स है और किसी के भी उपयोग के लिए मुफ्त उपलब्ध है।
  • तेज़ और अत्यधिक विश्वसनीय संकलन सक्षम करता है।

Ubuntu पर GCC क्यों उपयोग करें?

  1. मानक पैकेज के रूप में उपलब्ध GCC Ubuntu के आधिकारिक रिपॉजिटरी में शामिल है, जिससे इसे स्थापित करना आसान हो जाता है।
  2. व्यापक दस्तावेज़ीकरण और समुदाय समर्थन बड़े वैश्विक उपयोगकर्ता आधार के साथ, समस्या निवारण और अनुकूलन संसाधन प्रचुर मात्रा में उपलब्ध हैं।
  3. उपयोग के लिए मुफ्त आप शून्य लागत पर एक शक्तिशाली विकास वातावरण बना सकते हैं।
  4. आसान अनुकूलन कई GCC संस्करणों को प्रबंधित किया जा सकता है, जिससे आप प्रत्येक प्रोजेक्ट के लिए इष्टतम वातावरण कॉन्फ़िगर कर सकते हैं।

सारांश

यह लेख GCC की मूल बातें और Ubuntu पर इसे उपयोग करने के लाभों का परिचय कराता है। GCC एक शक्तिशाली, बहु‑भाषा कंपाइलर है जो निःशुल्क उपलब्ध है, और Ubuntu पर इसका इंस्टॉलेशन विशेष रूप से सरल है।

2. तैयारी

सिस्टम को अपडेट करना और निर्भरताओं की जाँच

सबसे पहले, Ubuntu के पैकेज जानकारी को नवीनतम संस्करण में अपडेट करें। यह इंस्टॉलेशन के दौरान त्रुटियों को रोकने में मदद करता है।

1. अपने सिस्टम को अपडेट करें

sudo apt update
sudo apt upgrade
  • sudo apt update : पैकेज सूची को अपडेट करता है।
  • sudo apt upgrade : स्थापित पैकेजों को नवीनतम संस्करणों में अपग्रेड करता है।

नोट्स:

  • अपडेट प्रक्रिया में कई मिनट लग सकते हैं।
  • यदि बाद में रीबूट करने के लिए कहा जाए, तो सिस्टम को पुनः आरंभ करें।

विकास उपकरणों की जाँच

GCC स्थापित करने के लिए बुनियादी विकास उपकरण और पैकेज आवश्यक हैं। उन्हें स्थापित करने के लिए निम्नलिखित कमांड चलाएँ:

sudo apt install build-essential

यह कमांड GCC और आवश्यक विकास उपकरण स्थापित करता है।

स्थापित पैकेजों के उदाहरण:

  • gcc (C कंपाइलर)
  • g++ (C++ कंपाइलर)
  • make (बिल्ड टूल)

इंस्टॉलेशन स्थिति की जाँच

इंस्टॉलेशन की पुष्टि करने और संस्करण जाँचने के लिए निम्नलिखित कमांड का उपयोग करें:

gcc --version

उदाहरण आउटपुट:

gcc (Ubuntu 9.4.0-1ubuntu1) 9.4.0
Copyright (C) 2021 Free Software Foundation, Inc.

यदि यह परिणाम दिखाई देता है, तो GCC सही ढंग से स्थापित है।

तैयारी का सारांश

आपने अब GCC स्थापित करने के लिए आवश्यक तैयारियों को पूरा कर लिया है।

  • सिस्टम को अपडेट और अपग्रेड किया।
  • वातावरण सेट करने के लिए आवश्यक पैकेज स्थापित किए।
  • पुष्टि की कि GCC स्थापित है और उसका संस्करण जाँच लिया।

3. GCC स्थापित करना

बुनियादी इंस्टॉलेशन प्रक्रिया

Ubuntu पर, GCC को आधिकारिक रिपॉजिटरी से आसानी से स्थापित किया जा सकता है। नीचे दिए गए चरणों का पालन करें:

  1. build-essential पैकेज स्थापित करें
    sudo apt install build-essential
    

यह कमांड GCC, G++, और अन्य आवश्यक विकास उपकरण स्थापित करता है।

  1. इंस्टॉलेशन प्रगति की पुष्टि करें यदि “Continue? (Y/n)” पूछा जाए, तो “Y” दर्ज करें और एंटर दबाएँ।

इंस्टॉलेशन की जाँच

इंस्टॉलेशन पूर्ण होने के बाद, GCC संस्करण की पुष्टि करें:

gcc --version

उदाहरण आउटपुट:

gcc (Ubuntu 9.4.0-1ubuntu1) 9.4.0
Copyright (C) 2021 Free Software Foundation, Inc.

यदि संस्करण जानकारी दिखाई देती है, तो GCC सफलतापूर्वक स्थापित हो गया है।

4. GCC का बुनियादी उपयोग

एक सरल प्रोग्राम बनाना और संकलित करना

  1. एक नमूना प्रोग्राम बनाएं

आइए एक सरल “Hello, World!” प्रोग्राम बनाकर शुरू करते हैं।

nano hello.c

जब संपादक खुले, तो निम्नलिखित कोड दर्ज करें:

#include <stdio.h>

int main() {
    printf("Hello, World!\n");
    return 0;
}

कोड दर्ज करने के बाद, सहेजने के लिए Ctrl + X दबाएँ, और फिर पुष्टि करने के लिए Y दबाएँ।

प्रोग्राम को संकलित करना

अब, GCC का उपयोग करके प्रोग्राम को संकलित करें।

gcc hello.c -o hello

कमांड की व्याख्या:

  • gcc : कंपाइलर कमांड।
  • hello.c : संकलन के लिए स्रोत फ़ाइल।
  • -o hello : आउटपुट निष्पादन योग्य फ़ाइल का नाम निर्दिष्ट करता है।

संकलित प्रोग्राम चलाना

संकलित प्रोग्राम को निम्नलिखित कमांड से चलाएँ:

./hello

उदाहरण आउटपुट:

Hello, World!

यदि आप यह आउटपुट देखते हैं, तो आपका प्रोग्राम सफलतापूर्वक संकलित और चलाया गया है।

त्रुटियों का निपटारा

  1. कोड त्रुटियों के कारण उत्पन्न त्रुटियाँ

उदाहरण त्रुटि संदेश:

hello.c: In function ‘main’:
hello.c:3:5: error: expected ‘;’ before ‘return’
    return 0;

समाधान:
त्रुटि संदेश में वह पंक्ति संख्या दिखती है जहाँ समस्या हुई है। कोड की समीक्षा करें और उसे सही करें।

  1. कम्पाइलर नहीं मिला

उदाहरण त्रुटि संदेश:

gcc: command not found

समाधान:
GCC स्थापित नहीं हो सकता है। इसे निम्नलिखित कमांड से पुनः स्थापित करें:

sudo apt install build-essential
  1. रनटाइम त्रुटियाँ

उदाहरण त्रुटि संदेश:

bash: ./hello: Permission denied

समाधान:
फ़ाइल को निष्पादन अनुमति दें:

chmod +x hello
./hello

अनुकूलन विकल्प

GCC आपको बेहतर प्रदर्शन के लिए अपने कोड को अनुकूलित करने की अनुमति देता है।

उदाहरण: अनुकूलन स्तर निर्दिष्ट करें

gcc -O2 hello.c -o hello
  • -O1 : बुनियादी अनुकूलन।
  • -O2 : अधिक उन्नत अनुकूलन।
  • -O3 : प्रदर्शन के लिए अधिकतम अनुकूलन।

ये विकल्प निष्पादन गति को बढ़ाने और कोड आकार को घटाने में मदद करते हैं।

सारांश

इस अनुभाग में बताया गया है कि GCC का उपयोग करके बुनियादी प्रोग्राम को कैसे लिखें, संकलित करें और चलाएँ।

मुख्य बिंदु:

  • एक नमूना प्रोग्राम को बनाना और संकलित करना सीखा।
  • सामान्य त्रुटियों को संभालने के तरीकों की समीक्षा की।
  • प्रोग्राम प्रदर्शन को बढ़ाने के लिए अनुकूलन विकल्पों का उपयोग करना सीखा।

5. कई संस्करणों का प्रबंधन

कई संस्करणों की स्थापना

Ubuntu आपको एक साथ विभिन्न GCC संस्करण स्थापित करने की अनुमति देता है। उन्हें सेट करने के लिए नीचे दिए गए चरणों का पालन करें।

  1. उपलब्ध संस्करणों की जाँच करें
    sudo apt search gcc-
    

यह कमांड रिपॉज़िटरी में उपलब्ध GCC संस्करणों को सूचीबद्ध करता है।

उदाहरण आउटपुट:

gcc-9 - GNU C compiler
gcc-10 - GNU C compiler
gcc-11 - GNU C compiler
  1. आवश्यक संस्करण स्थापित करें

उदाहरण के लिए, GCC 9 और GCC 10 स्थापित करें:

sudo apt install gcc-9 gcc-10

स्थापना के बाद, संस्करण स्विचिंग को कॉन्फ़िगर करने के लिए आगे बढ़ें।

संस्करणों के बीच स्विच करना

GCC संस्करणों को आसानी से स्विच करने के लिए update-alternatives कमांड का उपयोग करें।

  1. स्थापित GCC संस्करणों को पंजीकृत करें

update-alternatives के साथ GCC संस्करणों को पंजीकृत करने के लिए नीचे दिए गए कमांड चलाएँ:

sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-9 90
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-10 100

यह कॉन्फ़िगरेशन GCC 10 को अधिक प्राथमिकता देता है।

  1. वह संस्करण चुनें जिसे आप उपयोग करना चाहते हैं
    sudo update-alternatives --config gcc
    

उदाहरण आउटपुट:

There are 2 choices for the alternative gcc (providing /usr/bin/gcc).

  Selection    Path             Priority   Status
------------------------------------------------------------
* 0            /usr/bin/gcc-10  100       auto mode
  1            /usr/bin/gcc-9   90        manual mode
  2            /usr/bin/gcc-10  100       manual mode

Press <enter> to keep the current choice[*], or type selection number:

इच्छित संस्करण की संख्या दर्ज करें।

प्रत्येक प्रोजेक्ट के लिए विशिष्ट संस्करण का उपयोग

यदि आप विशिष्ट प्रोजेक्ट्स के लिए अलग GCC संस्करण उपयोग करना चाहते हैं, तो प्रतीकात्मक लिंक को तदनुसार समायोजित करें।

  1. प्रतीकात्मक लिंक बनाएं
    sudo ln -sf /usr/bin/gcc-9 /usr/bin/gcc
    
  1. संस्करण की पुष्टि करें
    gcc --version
    

पुष्टि करें कि चयनित संस्करण सक्रिय है।

सारांश

इस अनुभाग में बताया गया है कि कई GCC संस्करण कैसे स्थापित करें और update-alternatives का उपयोग करके उनके बीच कैसे स्विच करें।

मुख्य बिंदु:

  • आवश्यक संस्करण स्थापित करें और उन्हें update-alternatives के साथ प्रबंधित करें।
  • प्रत्येक प्रोजेक्ट के लिए विशिष्ट संस्करणों का उपयोग करने हेतु सिम्बॉलिक लिंक कॉन्फ़िगर करें।

6. समस्या निवारण

स्थापना त्रुटियाँ और समाधान

त्रुटि उदाहरण 1: पैकेज नहीं मिला

E: Unable to locate package build-essential

कारण:
पैकेज सूची पुरानी है, या रिपॉजिटरी सेटिंग्स गलत हैं।

समाधान:
निम्नलिखित कमांड्स का उपयोग करके रिपॉजिटरी जानकारी अपडेट करें:

sudo apt update
sudo apt upgrade
sudo apt install build-essential

अतिरिक्त समाधान:

sudo add-apt-repository universe
sudo apt update

यह पैकेज को खोजने में मदद कर सकता है।

त्रुटि उदाहरण 2: अनुमति त्रुटि

Permission denied

कारण:
कमांड को प्रशासक अधिकारों के बिना चलाया गया था।

समाधान:
sudo के साथ स्थापना कमांड चलाएँ:

sudo apt install build-essential

संकलन-समय त्रुटियाँ और समाधान

त्रुटि उदाहरण 1: कंपाइलर नहीं मिला

gcc: command not found

कारण:
GCC स्थापित नहीं है, या PATH सही ढंग से कॉन्फ़िगर नहीं है।

समाधान:
जाँचें कि GCC स्थापित है या नहीं:

sudo apt install gcc

यदि पहले से स्थापित है, तो सिम्बॉलिक लिंक ठीक करें:

sudo ln -s /usr/bin/gcc-10 /usr/bin/gcc

त्रुटि उदाहरण 2: लाइब्रेरी लिंक त्रुटियाँ

undefined reference to 'main'

कारण:
main फ़ंक्शन अनुपलब्ध है, या लिंक त्रुटियाँ हैं।

समाधान:
सुनिश्चित करें कि आपके कोड में main फ़ंक्शन मौजूद है। सही विकल्पों के साथ पुनः संकलित करें:

gcc -o output main.c -lm

रनटाइम त्रुटियाँ और समाधान

त्रुटि उदाहरण 1: निष्पादन अनुमति नहीं है

bash: ./program: Permission denied

कारण:
एक्ज़िक्यूटेबल को चलाने की अनुमति नहीं है।

समाधान:
निष्पादन अनुमति जोड़ें:

chmod +x program
./program

त्रुटि उदाहरण 2: लाइब्रेरी अनुपलब्ध

error while loading shared libraries: libXXX.so: cannot open shared object file: No such file or directory

कारण:
एक आवश्यक साझा लाइब्रेरी स्थापित नहीं है।

समाधान:
गुम लाइब्रेरी की पहचान करें और उसे स्थापित करें:

sudo apt install libXXX-dev

संस्करण प्रबंधन त्रुटियाँ और समाधान

त्रुटि उदाहरण: संस्करण परिवर्तन लागू नहीं हुआ

gcc --version

यदि आउटपुट में परिवर्तनित संस्करण नहीं दिख रहा है, तो update-alternatives सेटिंग्स को पुनः जाँचें।

समाधान:

  1. उपलब्ध कॉन्फ़िगरेशन जाँचें।
    sudo update-alternatives --config gcc
    
  1. सही संस्करण चुनें।
  2. सिम्बॉलिक लिंक अपडेट करें।
    sudo ln -sf /usr/bin/gcc-9 /usr/bin/gcc
    

सारांश

यह अनुभाग GCC स्थापना और उपयोग के दौरान आम त्रुटियों तथा उनके विशिष्ट समाधान को समझाता है।

मुख्य बिंदु:

  • स्थापना त्रुटियों को रिपॉजिटरी अपडेट करके और सेटिंग्स ठीक करके हल किया जा सकता है।
  • संकलन-समय समस्याओं के लिए अक्सर कोड या लिंक विकल्पों की जाँच आवश्यक होती है।
  • रनटाइम त्रुटियों का कारण अक्सर अनुपलब्ध अनुमतियाँ या लाइब्रेरीज़ होते हैं।
  • संस्करण नियंत्रण समस्याओं को सिम्बॉलिक लिंक और update-alternatives के माध्यम से समायोजित किया जा सकता है।

7. अक्सर पूछे जाने वाले प्रश्न (FAQ) अनुभाग

मैं GCC का नवीनतम संस्करण कैसे स्थापित करूँ?

प्रश्न:
मैं GCC का नवीनतम संस्करण स्थापित करना चाहता हूँ, लेकिन Ubuntu का रिपॉजिटरी केवल पुराने संस्करण देता है। मैं क्या करूँ?

उत्तर:
PPA रिपॉजिटरी जोड़ें और नवीनतम संस्करण स्थापित करें।

  1. PPA जोड़ें:
    sudo add-apt-repository ppa:ubuntu-toolchain-r/test
    
  1. पैकेज अपडेट करें:
    sudo apt update
    
  1. नवीनतम GCC स्थापित करें:
    sudo apt install gcc-12
    
  1. संस्करण जाँचें:
    gcc --version
    

मैं GCC को कैसे अनइंस्टॉल करूँ?

उत्तर:
निम्नलिखित कमांड चलाएँ:

sudo apt remove gcc
sudo apt autoremove

संबंधित विकास टूल्स हटाने के लिए:

sudo apt remove build-essential

यदि update-alternatives में केवल पुराने संस्करण दिखें तो क्या करें?

उत्तर:
आवश्यक संस्करण को मैन्युअली जोड़ें:

sudo apt install gcc-12
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-12 120
sudo update-alternatives --config gcc

डिपेंडेंसी त्रुटियों को कैसे हल करें?

उत्तर:
सिस्टम को अपडेट करने का प्रयास करें:

sudo apt update
sudo apt upgrade

यदि हल नहीं हो रहा है:

sudo apt --fix-broken install

विशिष्ट प्रोजेक्ट्स के लिए विभिन्न GCC संस्करणों का उपयोग कैसे करें?

उत्तर:

  1. स्थानीय सिम्बॉलिक लिंक बनाएं:
    ln -s /usr/bin/gcc-9 ./gcc
    
  1. कम्पाइलेशन के दौरान इसका उपयोग करें:
    ./gcc -o program program.c
    

यदि मुझे “command not found” त्रुटि मिले तो क्या करें?

उत्तर:
जाँचें कि GCC स्थापित है या नहीं:

dpkg -l | grep gcc

यदि स्थापित नहीं है, तो इसे पुनः स्थापित करें:

sudo apt install gcc

यदि सिम्बॉलिक लिंक टूट गया है, तो इसे ठीक करें:

sudo ln -sf /usr/bin/gcc-10 /usr/bin/gcc

सारांश

यह अनुभाग GCC उपयोग से संबंधित सामान्य प्रश्नों और व्यावहारिक समाधान को कवर करता है।

मुख्य बिंदु:

  • नवीनतम संस्करण PPA रिपॉजिटरी के माध्यम से स्थापित किया जा सकता है।
  • अनइंस्टॉल और संस्करण प्रबंधन update-alternatives के माध्यम से किया जाता है।
  • सामान्य त्रुटियों को हल करने के लिए व्यावहारिक उदाहरण प्रदान किए गए।

8. निष्कर्ष और अगले कदम

मुख्य बिंदुओं की समीक्षा

  1. GCC का अवलोकन और उद्देश्य
  • GCC C और C++ जैसी कई प्रोग्रामिंग भाषाओं का समर्थन करता है।
  • उबंटू आधिकारिक रिपॉजिटरी के माध्यम से GCC तक आसान पहुँच प्रदान करता है।
  1. स्थापना और तैयारी के चरण
  • सिस्टम को अपडेट किया और build-essential पैकेज स्थापित किया।
  • संस्करण जांच और डिपेंडेंसी समस्या निवारण की समीक्षा की।
  1. बुनियादी उपयोग
  • सैंपल कोड को बनाना, कम्पाइल करना और चलाना सीखा।
  • ऑप्टिमाइज़ेशन और त्रुटि-हैंडलिंग तकनीकों का अन्वेषण किया।
  1. एकाधिक संस्करणों का प्रबंधन
  • update-alternatives का उपयोग करके प्रोजेक्ट के अनुसार GCC संस्करण बदलें।
  1. समस्या निवारण और अक्सर पूछे जाने वाले प्रश्न
  • सामान्य त्रुटियों और चरण-दर-चरण समाधान पर चर्चा की।

अतिरिक्त संसाधन

  1. आधिकारिक उबंटू दस्तावेज़ीकरण
  • Ubuntu Official Site पैकेज प्रबंधन और विकास उपकरणों पर विस्तृत गाइड प्रदान करता है।
  1. आधिकारिक GCC दस्तावेज़ीकरण
  • GCC Manual उन्नत उपयोग निर्देश और कॉन्फ़िगरेशन विकल्प प्रदान करता है।
  1. Linux समस्या निवारण संसाधन
  • Linux Console विभिन्न Linux समस्या निवारण जानकारी रखता है।
  1. शिक्षण प्लेटफ़ॉर्म और फ़ोरम
  • Qiita और Stack Overflow उपयोगी उदाहरण और समुदाय समर्थन प्रदान करते हैं।

अगले कदम

  1. वास्तविक विकास में GCC लागू करें
  • अपने प्रोजेक्ट्स में अधिक उन्नत प्रोग्राम बनाने के लिए GCC का उपयोग करें।
  1. लाइब्रेरीज़ का उपयोग करके कार्यक्षमता बढ़ाएँ
  • प्रोजेक्ट क्षमताओं को बढ़ाने के लिए अतिरिक्त लाइब्रेरीज़ शामिल करें।
  1. नए उपकरण और भाषाएँ सीखें
  • संबंधित विकास उपकरण और भाषाओं में निपुणता हासिल करके अपने कौशल को विस्तारित करें।
  1. ओपन-सोर्स समुदाय में शामिल हों
  • व्यावहारिक अनुभव प्राप्त करने और ज्ञान साझा करने के लिए फ़ोरम या ओपन-सोर्स प्रोजेक्ट्स में भाग लें।

अंतिम विचार

यह लेख उबंटू पर GCC को स्थापित करने और उपयोग करने के प्रत्येक चरण को समझाता है। यहाँ प्रस्तुत विधियों और समस्या निवारण प्रथाओं का पालन करके कोई भी विश्वसनीय विकास वातावरण बना सकता है।

एक अंतिम नोट:
GCC का उपयोग करके अपने सॉफ़्टवेयर विचारों को साकार करें। यदि आपको समस्याएँ आती हैं, तो FAQ या संदर्भित संसाधनों को फिर से देखें और उन्हें कुशलता से हल करें।

अगला लेख C और C++ में कोर सिंटैक्स और उन्नत विकास तकनीकों को कवर करेगा। अपडेट के लिए जुड़े रहें!