السلام عليكم ورحمة الله وبركاته ،
اليوم سنبعد قليلا من جو Linux/Windows وسنتجه الى أجهزة الجوال وبالتحديد اجهزة نوكيا Nokia التي تعمل بنظام التشغيل سيمبيان Symbian ومنصة S60.
حيث توجد نسخة من كيوتي "pre-relasse" مخصصة لهذه المنصة ، وهذا يعني أن برامجك التي كتبتها على ويندوز وعلى لينوكس تستطيع اعادة ترجمتها على منصة S60 بدون تغيير في الكود .
وهذا امر رائع بالفعل ، حيث لا يجب عليك ان تتعلم ال API الخاصة بالسيمبيان حتى تكتب hello world ! بل يمكنك الان برمجة تطبيقات احترافية على كل الانظمة المدعومة في كيوتي ، فقط عليك ان تتعرف على الاساسيات والمفاهيم البسيطة .
و نسخة كيوتي مخصصة فقط لانظمة السيمبيان الحديثة S60 3rd Edition Feature Pack 1 or later لذا ان كان جوالك لا يحوي هذا المتطلب فيمكنك ان تتابع المقالة على المحاكي Emulator ، وفي الحقيقة المقالة طبقتها على المحاكي :) .
الادوات المطلوبة :
* بيئة ++Crabide.c " بيئة مخصصة من Eclispe " ومن الاصدار 2.0 بدأت تدعم كيوتي.
* ملفات وقت الشتغيل لجافا JRE
* برنامج Active Perl .
* ال S60 SDK للجوال الذي تريد ان تبرمج عليه ، وفي هذه المقالة قمت باختيار SDK لجوال N97 ، وفي حالة اردت اختيار جوال اخر يجب ان تحمل ال SDK الخاص به.و ال SDK يحوي كل شيء بدءا من ملفات الهيدر والتوثيق والمكتبات الى المحاكي الذي سنجرب عليه برنامجنا البسيط في نهاية الدرس ، "ويمكنك ان تحمل اكثر من SDK اذا اردت" .
* كيوتي لل S60 ، اخر اصدار يسمى tower وهو اصدار pre-relasse يعني ليس نهائي .
* Nokia PC Suite "اذا كنت تريد نقل البرنامج الى الجوال".
* مكتبات ++Open C/C "اذا كنت تريد نقل البرنامج الى الجوال".
التنصيب والتجهيز :
1- حمل اولا JRE وضع مجلد bin على ال PATH .
وقد حملت الاصدار 1.5
ويمكنك ان تحمل J2SE حيث ياتي معها ال JRE
2- حمل Active Perl النسخة ActivePerl-5.6.1.638-MSWin32-x86.msi :
الرابط :
http://downloads.activestate.com/ActivePer...MSWin32-x86.msi
3- حمل ++Crabide.c :
رابط التحميل:
http://www.forum.nokia.com/info/sw.nokia.c...8119a2b4cb.html
بعد التحميل ستجد الملف التنفيذي :
قم بفتحه واستمر في الضغط على Next
4- حمل ال SDK
الرابط:
http://www.forum.nokia.com/info/sw.nokia.c...n_One_SDKs.html
وقد اخترت Nokia N97 SDK
ويمكنك تحميل اي واحد اخر.
5- حمل Qt for S60
http://www.qtsoftware.com/developer/techni...view-qt-for-s60
رابط التحميل:
http://pepper.troll.no/s60prereleases/
قم بتحميل النسخة المبنية مسبقا qt-embedded-s60-preview-4.5.2-tower.exe
او حمل الكود اذا أردت ان تعمل ترجمة له qt-embedded-s60-preview-src-4.5.2-tower.zip
تنصيب النسخة الجاهزة exe بسيط ، مجرد Next الى النهاية.
لكن هناك ملاحظة مهمة جدا : وهي انه يجب تنصيب Qt على نفس القسم Partition الموجود فيه الـ SDK ، ويفضل ان يكون في السي.
طيب نأتي لطريقة ترجمة الكود :
فك الضغط عن الملف الى C:\Qt
بحيث تكون الملفات بداخل المسار C:\Qt\4.5.2-tower
ثم ضع مجلد bin ل Qt في ال PATH
الان قبل البدء في الترجمة ، افتح قائمة ابدا واذهب الى ++Crabide.c واختر الخيار التالي:
حتى تضاف الى ال Environment variables
بعد ان ينتهي اذهب الى سطر الاوامر cmd وادخل على مسار مجلد ال tower و نفذ الامر :
ملاحظة : بهذا الشكل لن تحصل على دعم لل webkit و phonnon ولا للكثير من الخصائص ، واذا اردتها يجب ان تحددها .
قم بكتابة هذا الامر لمعرفة كل الخصائص الممكنة configure -help
سيقوم بسؤالك عن النسخة والترخيص اختر o ثم y
انتظر ساعة الى ساعتين ، ويمكن اكثر !
الان نفذ امر الترجمة :
وانتظر كم ساعة كمان.
بالنسبة لي قمت بتحميل النسخة الجاهزة لكنها لم تعمل معي !
لذلك قمت بتحميل الكود وعمل ترجمة له ، والافضل طبعا ان تحمل النسخة الجاهزة وتريح نفسك وتكسب زمنك.
تجهيز ++Crabide.c :
بعد ان حملت كل الادوات السابقة ، سنقوم بتجهيز هذه البيئة لتتعرف على اصدارة كيوتي الموجودة لديك :
قم بفتح البيئة وتابع الصور :
سننشئ الان مشروع جديد :
الواجهه الرئيسية :
الان سنقوم باظهار صندوق ادوات كيوتي ، ويمكنك اظهار ما تريد ..
تشغيل اول برنامج على المحاكي :
افتح ملف ال ui وقم بعمل gui بسيط :
ويمكنك ان تضيف signal/slot لتعطي تفاعلية اكثر .
ثم شغل البرنامج على المحاكي من خلال run :
صور من المحاكي ، ويمكنك ان تشغله من قائمة ابدا
لاحظ انه يحوي تطبيقات كيوتي :
برنامج wiggly الشهير :
نقل البرنامج الى الجوال :
ستحتاج الى نقل الملفات التالية عن طرق الضغط عليها double click وسيفتح معك ال Nokia PC Suite:
مكتبات ++Open C/C اذا كان الجوال يعمل ب S60 3rd feature pack 1
pips_s60_1_5_5b.sis
openc_ssl_s60_1_5_5b.sis
stdcpp_s60_1_5_5b.sis
مكتبة كيوتي:
qt_libs.sis
الامثلة demos
fluidlauncher.sis
بالنسبة لبرنامجك يجب عمل cross compiling له حتى يعمل على الجهاز كالاتي:
ادخل على مجلد المشروع ونفذ:
qmake
ثم نفذ الامر التالي للترجمة :
make debug-gcce
الان تأكد من الجوال موصل ، ونفذ :
createpackage -i Hello_gcce_udeb.pkg
حيث Hello هو اسم البرنامج.
القيود على برامجك :
الموديولات Modules المتوفرة في ال tower هي كلها ما عدا :
QtOpenGL : سيتم توفيرها في النسخ القادمة .
QtXmlPatterns : سيتم توفيرها في النسخ القادمة .
Qt3Support : لا يوجد حاجة لدعم كيوتي 3 .
ويوجد بعض الفئات "قليلة جدا" غير متوفرة تجدها على الرابط :
http://library.forum.nokia.com/index.jsp?t...05AB6E71B6.html
اخيرا خيارات الامر make
debug-winscw
Build debug binaries for the emulator (default). It is currently not possible to build release binaries for the emulator
debug-gcce
Build debug binaries for hardware using GCCE
release-gcce
Build release binaries for hardware using GCCE
debug-armv5
Build debug binaries for hardware using RVCT
release-armv5
Build release binaries for hardware using RVCT
run
Run the emulator binaries from the build directory
EOF
________________________
روابط :
http://wiki.forum.nokia.com/index.php/Installing_Qt_on_S60
http://wiki.forum.nokia.com/index.php/Gett...with_Qt_for_S60
http://library.forum.nokia.com/
http://pepper.troll.no/s60prereleases/
http://labs.trolltech.com/blogs/2009/06/25...r-s60-is-there/
http://pepper.troll.no/s60prereleases/doc/...troduction.html
S60:
http://en.wikipedia.org/wiki/S60_%28software_platform%29
Nokia PC Suite:
http://europe.nokia.com/get-support-and-so.../nokia-pc-suite
فيديو يشرح نقل البرنامج الى الجوال.
رابط عن السيمبيان من عرب تيم :) :
وشكرا.