السلام عليكم
بناءا على طرحي لفكرة مهرجان المقالات الأسبوعي و الذي يشجع المشرفين و الأعضاء على بناء ثقافة جديدة و هي طرح دروس و مقالات متقدمة عما عهدناه في المنتدى. سأقوم بطرح اول درس خاص بالبرمجة بمكتبة ال wxWidgets.
مكتبة ال wxWidgets هي عبارة عن مكتبة رهيبة و ضخمة, لا نريد الدخول في تفاصيلها لانه في معظم الأحيان تكون المقدمات مملة للغاية. و لذلك مبدئيا, كل ما نريد معرفته عن هذه المكتبة هو انها عبارة عن غلاف (wrapper) حول مكتبات الواجهات الرسومية المستخدمة في أنظمة التشغيل. عملية التغليف هذه تحاول التمكين من إستخدام نفس الكود للبناء على عدة منصات و من المكتبات المغلفة هي Win32 API, GTK بحيث تستخدم البرامج المظهر العام او Look and Feel لبرامج أنظمة التشغيل دون إستخدام مكونات خارجية ليس لها علاقة بنظام التشغيل الذي يعمل عليه برنامج الذي قمت ببرمجته عن طريق هذه المكتبة.
طبعا إمكانية بناء البرامج للعمل على عدة منصات تشترط على إستخدام اسلوب برمجة معين و عدم إستخدام بعض خواص لغة السي++ لعدم دعم جميع المترجمات لها. لقراءة معلومات عن هذا الأسلوب و هذه القواعد يمكن الإطلاع على: http://www.wxwidgets.org/develop/standard.htm
بالنسبة لعملية التنصيب:
على منصة الوندوز:
قم بتنزيل بيئة wxDevC++ و التي تقوم بتنزيل مكتبة ال wxWidgets معها
اما على منصة ال Linux و خصوصا على Ubuntu
يجب عمل التالي:
اولا:
sudo apt-get update
لتحديث قاعدة بيانات البرامج المتوفرة
و عند إنتهاء التحديث:
sudo apt-get install build-essential 2. Install the debugger. sudo apt-get install gdb sudo apt-get install libwxgtk2.6-0 sudo apt-get install libwxgtk2.6-dev wx2.6-headers wx-common
الان يجب إتباع هذه الخطوات لتنصيب احدث نسخة عن المكتبة:
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak gksudo gedit /etc/apt/sources.list
هذا سيقوم بفتح برنامج محرر النصوص, هذه الخطوة ضرورية لإضافة سيرفر جديد يمكن من خلاله تنزيل احدث نسخة:
قم بإضافة هذا السطر اخر الملف:
deb http://apt.wxwidgets.org/ gutsy-wx main
طبعا هذا سيقوم بإضافة قائمة الملفات من السيرفر لأخر توزيعة للينكس و هي Hardy Heron 8.04 و Gutsy Gibbon 7.10
wget -q http://apt.wxwidgets.org/key.asc -O- | sudo apt-key add - sudo apt-get install libwxgtk2.8-0 libwxgtk2.8-dev wx2.8-headers wx-common sudo update-alternatives --config wx-config
و هكذا نكون قد اتممنا عملية التنصيب.
و لتنصيب اخر نسخة Nightly build من بيئة البرمجة Code::Blocks
sudo apt-get install libcodeblocks0 codeblocks libwxsmithlib0 codeblocks-contrib
هذه هي صورة لل Code::Blocks يعمل على نظام لينكس من جهازي:

و إذا في اية مشاكل الرجاء طرحها هنا لحلها للأعضاء.
إن شاء الله يكون اول درس مفيد للجميع و ستكون هناك سلسلة قادمة خلال ايام العطلة هذه لكيفية البرمجة بإستخدام المكتبة

