دليل تثبيت واستخدام GCC على Ubuntu: كل ما تحتاجه للمبرمجين

目次

1. مقدمة

ما هو GCC؟

GCC (مجموعة مترجمات جنو) هو مترجم مفتوح المصدر يمكنه تجميع العديد من لغات البرمجة بما في ذلك C و C++. يستخدم على نطاق واسع كمترجم قياسي لتوزيعات لينكس.

الميزات الرئيسية لـ GCC:

    • يدعم لغات متعددة مثل C و C++ و Fortran و Java.
  • مفتوح المصدر ومتاح للاستخدام المجاني للجميع.
  • يوفر تجميعًا سريعًا وموثوقًا.

لماذا نستخدم GCC في أوبونتو؟

  1. متوفر كحزمة قياسية
    يتضمن مستودع أوبونتو GCC بشكل قياسي، مما يسهل تثبيته.
  2. الكثير من معلومات الدعم والتوثيق
    بفضل وجود عدد كبير من المستخدمين حول العالم، تتوفر معلومات وفيرة حول استكشاف الأخطاء وإصلاحها والتخصيص.
  3. مجاني للاستخدام
    يمكنك بناء بيئة تطوير قوية بتكاليف منخفضة.
  4. سهولة التخصيص
    يمكنك إدارة إصدارات GCC متعددة، مما يتيح لك إعداد البيئة المثلى لمشاريعك.

ملخص

في هذه المقالة، قدمنا نظرة عامة على GCC وفوائد استخدامه في أوبونتو. GCC هو مترجم قوي يدعم لغات متعددة ومتاح مجانًا، ومن السهل بشكل خاص تثبيته في بيئة أوبونتو.

侍エンジニア塾

2. التحضير المسبق

تحديث النظام والتحقق من التبعيات

أولاً، قم بتحديث معلومات حزمة أوبونتو إلى أحدث حالة. هذا يساعد على منع الأخطاء أثناء التثبيت.

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

خطوات التثبيت الأساسية

في أوبونتو، يمكن تثبيت GCC بسهولة من المستودع الرسمي. اتبع الخطوات التالية للتثبيت:

  1. تثبيت حزمة build-essential
sudo apt install build-essential

يقوم هذا الأمر بتثبيت GCC و G++ ومجموعة كاملة من أدوات التطوير.

  1. التحقق من تقدم التثبيت
    إذا طُلب منك “هل تريد المتابعة؟ (Y/n)” أثناء التثبيت، أدخل “Y” واضغط على Enter.

كيفية التحقق بعد التثبيت

بعد اكتمال التثبيت، تحقق من إصدار GCC للتأكد من تثبيته بشكل صحيح.

gcc --version

مثال على الإخراج:

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

إذا ظهرت معلومات الإصدار بهذه الطريقة، فهذا يعني أن GCC مثبت بشكل صحيح.

تثبيت أدوات ومكتبات إضافية

قد لا يكون GCC وحده كافيًا في بعض الحالات، لذلك يوصى بتثبيت الحزم الإضافية التالية:

  1. تثبيت G++ (مترجم C++)
sudo apt install g++
  1. تثبيت أدوات التصحيح
sudo apt install gdb
  1. تثبيت صفحات الدليل (manpages)
sudo apt install manpages-dev

يتيح لك هذا الرجوع فورًا إلى المساعدة وصفحات الدليل المتعلقة بـ GCC.

حل المشكلات في حال فشل التثبيت

  1. في حال عدم العثور على الحزمة
E: Unable to locate package build-essential

الحل: قم بتحديث معلومات المستودع.

sudo apt update
sudo apt upgrade
  1. في حال حدوث خطأ في الأذونات
Permission denied

الحل: قم بتشغيل الأمر بصلاحيات المدير عن طريق إضافة sudo في بداية الأمر.

ملخص خطوات التثبيت

لقد قمنا هنا بشرح خطوات تثبيت GCC وطرق التحقق، بالإضافة إلى تثبيت الحزم الإضافية.

مراجعة النقاط الرئيسية:

  • يمكن التثبيت بسهولة باستخدام الأمر sudo apt install build-essential.
  • تحقق من حالة التثبيت عن طريق التحقق من الإصدار.
  • قم بتثبيت أدوات إضافية مثل G++ و gdb حسب الحاجة.

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

مثال على الإخراج:

Hello, World!

إذا ظهرت هذه النتيجة، فهذا يعني أن البرنامج تم تجميعه وتشغيله بنجاح.

حل المشكلات في حال حدوث أخطاء

  1. أخطاء بسبب أخطاء في الكود

مثال على رسالة الخطأ:

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

الحل:

تشير رسالة الخطأ إلى موقع المشكلة (مثل السطر 3). تحقق من الكود وقم بتصحيح أي أخطاء إملائية.

  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. إدارة الإصدارات المتعددة

تثبيت إصدارات متعددة

في أوبونتو، يمكنك تثبيت إصدارات مختلفة من 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.

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 كإصدار افتراضي ذي أولوية (100).

  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  to keep the current choice[*], or type selection number:

أدخل الرقم المطلوب واضغط على Enter.

كيفية استخدام إصدار معين لكل مشروع

إذا كنت ترغب في استخدام إصدار معين لكل مشروع، يمكنك القيام بذلك عن طريق تبديل الروابط الرمزية.

  1. إنشاء رابط
sudo ln -sf /usr/bin/gcc-9 /usr/bin/gcc

يمكنك تعيين GCC 9 كإصدار افتراضي باستخدام هذا الأمر.

  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. قسم الأسئلة الشائعة

كيف يمكنني تثبيت أحدث إصدار من GCC؟

السؤال:

أرغب في تثبيت أحدث إصدار من GCC، ولكن المستودعات الافتراضية تحتوي فقط على إصدارات قديمة. كيف يمكنني تثبيت أحدث إصدار؟

الإجابة:

لتثبيت أحدث إصدار من GCC، أضف مستودع PPA.

  1. إضافة مستودع PPA:
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
  1. تحديث قائمة الحزم:
sudo apt update
  1. تثبيت أحدث إصدار:
sudo apt install gcc-12
  1. التحقق من الإصدار:
gcc --version

كيف أقوم بإلغاء تثبيت GCC؟

السؤال:

إذا أردت إلغاء تثبيت GCC، كيف أفعل ذلك؟

الإجابة:

يمكنك إلغاء تثبيت GCC باستخدام الأوامر التالية:

sudo apt remove gcc
sudo apt autoremove

إذا كنت ترغب أيضًا في إزالة الأدوات ذات الصلة، أضف الأمر التالي:

sudo apt remove build-essential

كيف أتعامل مع عدم القدرة على تحديد إلا الإصدارات القديمة من GCC؟

السؤال:

عند استخدام update-alternatives --config gcc، لا يمكنني تحديد إلا الإصدارات القديمة. كيف يمكنني إضافة أحدث إصدار؟

الإجابة:

أضف أحدث إصدار يدويًا.

  1. تثبيت الإصدار المطلوب.
sudo apt install gcc-12
  1. إضافته يدويًا إلى إعدادات البدائل.
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-12 120
  1. اختيار الإصدار.
sudo update-alternatives --config gcc

كيف أتعامل مع أخطاء التبعيات؟

السؤال:

حدث خطأ في التبعيات أثناء تثبيت GCC. كيف يمكنني حل هذه المشكلة؟

الإجابة:

قد يكون سبب خطأ التبعيات هو أن النظام ليس محدثًا. قم بتشغيل الأوامر التالية:

sudo apt update
sudo apt upgrade

إذا لم يحل ذلك المشكلة، قم بإصلاح التبعيات تلقائيًا.

sudo apt --fix-broken install

كيف أستخدم إصدارًا معينًا من GCC لكل مشروع؟

السؤال:

إذا أردت استخدام إصدارات مختلفة من GCC لكل مشروع، كيف يمكنني إعداد ذلك؟

الإجابة:

قم بإعداد رابط رمزي في دليل المشروع.

  1. إنشاء رابط GCC خاص بالمشروع.
ln -s /usr/bin/gcc-9 ./gcc
  1. استخدمه عند التجميع المحلي.
./gcc -o program program.c

ماذا أفعل إذا ظهرت رسالة الخطأ “command not found”؟

السؤال:

لقد قمت بتثبيت GCC، ولكن تظهر لي رسالة gcc: command not found. ماذا أفعل؟

الإجابة:

أولاً، تحقق من التثبيت.

dpkg -l | grep gcc

إذا لم يتم تثبيت GCC، قم بإعادة تثبيته.

sudo apt install gcc

إذا لم يحل ذلك المشكلة، تحقق من الرابط الرمزي.

ls -l /usr/bin/gcc

إذا كان الرابط معطوبًا، قم بإصلاحه.

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

ملخص

في هذا القسم، قدمنا إجابات وحلولًا محددة للأسئلة الشائعة حول GCC.

مراجعة النقاط الرئيسية:

  • يمكن تثبيت أحدث إصدار عبر مستودع PPA.
  • يمكن إعداد إلغاء التثبيت وإدارة الإصدارات بسهولة باستخدام update-alternatives.
  • تم تقديم أمثلة أوامر محددة لاستكشاف الأخطاء وإصلاحها.

8. الملخص والخطوات التالية

مراجعة النقاط الرئيسية لهذه المقالة

  1. نظرة عامة ودور GCC
  • GCC هو مترجم قوي يدعم لغات برمجة متعددة بما في ذلك C و C++.
  • في أوبونتو، يمكن تثبيته بسهولة من المستودع الرسمي، وهو مثالي لإعداد بيئة التطوير.
  1. خطوات التثبيت والتحضير
  • قمنا بتحديث النظام إلى أحدث حالة وتثبيت حزمة build-essential.
  • قمنا بإعداد البيئة من خلال التحقق من الإصدارات واستكشاف أخطاء التبعيات وإصلاحها.
  1. الاستخدام الأساسي
  • شرحنا سير عمل إنشاء برنامج نموذجي وتجميعه وتشغيله.
  • قدمنا أيضًا كيفية التعامل مع الأخطاء التي تحدث وخيارات التحسين.
  1. إدارة الإصدارات المتعددة والتبديل بينها
  • شرحنا كيفية استخدام الأمر update-alternatives للتبديل بين إصدارات GCC المناسبة لكل مشروع.
  1. استكشاف الأخطاء وإصلاحها والأسئلة الشائعة
  • شرحنا الأخطاء المحتملة التي قد تحدث أثناء التثبيت والاستخدام وحلولها بأمثلة محددة.

مقدمة إلى موارد إضافية

فيما يلي بعض الموارد الإضافية المفيدة لمزيد من التعلم والتطبيق.

  1. وثائق أوبونتو الرسمية
  1. وثائق GNU GCC الرسمية
  1. دليل لينكس كونسول
  • يحتوي Linux Console على معلومات استكشاف الأخطاء وإصلاحها المتعلقة بنظام لينكس بشكل عام.
  1. مواقع التعلم والمنتديات
  • يمكنك الرجوع إلى أمثلة التعليمات البرمجية وإجابات الأسئلة على Qiita و Stack Overflow.

الخطوات التالية

  1. التطبيق على تطوير البرامج
  • استخدم GCC في مشاريعك الفعلية لتطوير برامج أكثر تقدمًا.
  1. استخدام المكتبات والتوسع
  • قم بتثبيت مكتبات إضافية حسب الحاجة ووسع وظائف مشاريعك.
  1. تعلم لغات وأدوات جديدة
  • اكتسب مهارات إضافية من خلال تعلم لغات برمجة وأدوات بناء أخرى.
  1. المشاركة في المجتمعات
  • شارك في المنتديات ومشاريع المصادر المفتوحة لصقل مهاراتك عمليًا من خلال مشاركة المعرفة.

خاتمة الملخص

في هذه المقالة، شرحنا خطوة بخطوة كل شيء بدءًا من تثبيت GCC في أوبونتو وحتى استخدامه. لقد قمنا بتغطية الإجراءات واستكشاف الأخطاء وإصلاحها لضمان قدرة المبتدئين على إعداد بيئتهم دون أي ارتباك.

كلمة أخيرة:

نأمل أن تستمتع بتطوير البرامج باستخدام GCC في مشاريعك الخاصة، بالرجوع إلى هذه المقالة. إذا كان لديك المزيد من الأسئلة، فاستخدم قسم الأسئلة الشائعة والموارد الإضافية لحلها.

في المقالة التالية، سنغطي قواعد اللغة الأساسية لـ C و C++ وطرق التطوير المتقدمة. تأكد من متابعة التحديثات المستقبلية!

 

年収訴求