Limo_GTK 開發_第1頁
Limo_GTK 開發_第2頁
Limo_GTK 開發_第3頁
Limo_GTK 開發_第4頁
Limo_GTK 開發_第5頁
已閱讀5頁,還剩4頁未讀, 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、Limo GTK開發第一步:搭建交叉編譯環境關于Limo的開發環境,limo開發達人euzen和eric都曾做過介紹,這里再次拿出來寫,主要是為了自己萬一系統掛了重新來,不用到處翻資料,呵呵進行Limo開發可以用到的工具常見的有兩種:純linux環境下的scratchbox以及可適用于linux和xp環境的codeblockscratchbox的搭建相當復雜,euzen曾對此有介紹:i8320交叉編譯環境搭建,可惜本人非專業人士,嘗試了幾次都失敗了只好轉投eric的codeblock,這里是eric的文章:ms windows下的limo開發環境eric只說明了xp下搭建的方法,其實linux

2、下的搭建方法也是大同小異,只不過是需要下載的東西不一樣而已以下內容部分一用eric的文章:1.準備工作:a.下載編譯器arm-2007q3-51: linux下請下載IA32 GNU/Linux Installer或者IA32 GNU/Linux Tar xp下請下載IA32 Windows Installer或者IA32 Windows Tarb.下載IDE codeblock:/downloads 根據自己的系統選擇下載c.下載SDK:limo沒有給我們準備sdk,只好自己收集了,幸好有euzen 第一部分,頭文件:下載: euzen給大家準

3、備好的或者:找GT-I8320_OpenSource_Update3.zip提取browser-engineincludeos內的文件第二部分:庫文件:從rom解壓出factoryfs.cramfs,再從factoryfs.cramfs中提出lib目錄。注意:從rom中解壓出的lib有部分是鏈接文件,不是真正的so庫文件。需要用cp -b命令,會自動復制轉換成真正的so文件。2.配置(1)將arm-2007q3-51安裝到xxxi8320devarm-2007q3(2)將include頭文件,放到xxxi8320sdkinclude(可以放到別的地方,后面的步驟做相應的修改)(3)將lib庫文

4、件,放到xxxi8320sdklib(可以放到別的地方,后面的步驟做相應的修改)(4) codeblocks配置:菜單”Settings”-”Compiler and debugger”.彈出“Global compiler settings”對話框-”selected compiler” 選擇GUN ARM GCC Compiler然后a.選中下面”Toolchain executables”頁,修改此頁所有項目(新手沒法上圖)Compilers installation directory:xxxi8320devarm-2007q3C compiler:arm-none-linux-gnu

5、eabi-gcc.exe(linux下沒后綴)C+ compiler:arm-none-linux-gnueabi-g+.exeLinker for dynamic libs:arm-none-linux-gnueabi-g+.exeLinker for static libs:arm-none-linux-gnueabi-ar.exeDebugger:arm-none-linux-gnueabi-gdb.exeResurce compiler:NAMake program:cs-make.exeb.選擇“Search directories”頁,修改如下Compiler:F:downi832

6、0devarm-2007q3F:downi8320devarm-2007q3includeF:downi8320devarm-2007q3libgccarm-none-linux-gnueabi4.2.1includeF:downi8320devarm-2007q3arm-none-linux-gnueabiincludeF:downi8320sdkincludeF:downi8320sdkincludeatk-1.0F:downi8320sdkincludecairoF:downi8320sdkincludeglib-2.0F:downi8320sdkincludegtk-2.0F:down

7、i8320sdkincludepango-1.0F:downi8320sdkincludeX11必須的好像就這幾個,未來開發中還要視情況添加Linker:D:i8320DevelopsdklibD:i8320Developdevarm-2007q3libD:i8320Developdevarm-2007q3arm-none-linux-gnueabilibD:i8320Developdevarm-2007q3arm-none-linux-gnueabilibcD:i8320Developdevarm-2007q3arm-none-linux-gnueabilibclibD:i8320Devel

8、opdevarm-2007q3arm-none-linux-gnueabilibcusrlibD:i8320Developdevarm-2007q3libgccarm-none-linux-gnueabi4.2.1D:i8320DevelopsdkSDL-1.2.14srcD:i8320DevelopsdkSDL-1.2.14srcstdlibD:i8320Developsdklibgconf2c.選擇”Linker settings”左邊窗口點add,輸入libgtk-x11-2.0后邊窗口直接輸入-Wl,-rpath=F:downi8320sdklib (很多人不知道這里怎么選擇,我當初也

9、是研究了半天呢,才發現不是選擇,是直接輸入)到此為止,編譯環境就算搭建完成了,可以helloworld了編譯嗎,makefile太麻煩,直接點BuildLimo GTK開發第二步:New projectCodeBlock-File-New-Project.-Empty project-GoProject Title輸入項目名稱-NextCompiler選GNU ARM GCC Compiler,下面Debugger的勾可以去掉,因為在電腦上沒法debugger所以沒用-Finish點擊new file-empty file然后就可以開始了,helloworld不好玩,試試Limo的范例吧:vi

10、ew plaincopy to clipboardprint?1. #defineBLACK_THEME/這句必須加上,不然編譯不過去2. #include3. /*callbackfunctiontoshowawidget*/4. voidshow_widget(GtkWidget*widget,GtkWidget*button,gpointerdata)5. 6. gtk_widget_show(GTK_WIDGET(data);7. 8. /*callbackfunctiontohideawidget*/9. voidhide_widget(GtkWidget*widget,GtkWid

11、get*button,gpointerdata)10. 11. gtk_widget_hide(GTK_WIDGET(data);12. 13. /*callbackfunctiontoQuittheapplication*/14. voidkill_app(GtkWidget*widget,GtkWidget*button,gpointerdata)15. 16. /*Quitstheapplication*/17. gtk_main_quit();18. 19. /*Programstartpoint*/20. intmain(intargc,char*argv)21. 22. GtkWi

12、dget*mainwindow;23. GtkWidget*form;24. GtkWidget*label;25. /*ThisiscalledinallGTKapplications.Argumentsareparsed26. *Fromthecommandlineandarereturnedtotheapplication.*/27. gtk_init(&argc,&argv);28. /*createamainwindow*/29. mainwindow=gtk_main_window_new(GTK_WIN_STYLE_DEFAULT);30. /*Createaformforthe

13、mainwindow*/31. form=gtk_form_new(TRUE);32. /*Settitlefortheform*/33. gtk_form_set_title(GTK_FORM(form),Helloworld!);34. /*Addingfortothemainwindowformlist*/35. gtk_main_window_add_form(GTK_MAIN_WINDOW(mainwindow),GTK_FORM(form);36. /*Settingtheformasthecurrentvisibleform*/37. gtk_main_window_set_cu

14、rrent_form(GTK_MAIN_WINDOW(mainwindow),GTK_FORM(form);38. /*Createanewlabelandaddittotheform*/39. label=gtk_label_new(HelloWorld);40. gtk_container_add(GTK_CONTAINER(form),label);41. /*Addsoftkeyswithcallbacks*/42. gtk_form_add_softkey(GTK_FORM(form),(gchar*)Showlabel,NULL,(SoftkeyActionType)SOFTKEY

15、_CALLBACK,show_widget,label);43. gtk_form_add_softkey(GTK_FORM(form),(gchar*)HideLabel,NULL,(SoftkeyActionType)SOFTKEY_CALLBACK,hide_widget,label);44. gtk_form_add_softkey(GTK_FORM(form),(gchar*)Back,NULL,(SoftkeyActionType)SOFTKEY_CALLBACK,kill_app,NULL);45. /*Thefinalstepistodisplaymainwindowandit

16、scontents.*/46. gtk_widget_show_all(mainwindow);47. gtk_main();48. return0;49. Limo GTK開發第三步:打包并安裝你的程序每次都要用telnet命令行運行是不是有點不爽,那就打包成ipk,在手機中安裝使用吧:一、打包先來看看ipk的結構(參考euzen博文:包目錄test下包含兩個目錄1.目錄DEBIAN內含文件control,內容如下,括號內為備注,不要寫到文件中去:Source: test (顯示在桌面的名稱)Section: Utility Package: cn.iEnzo.test (包名,既安裝路徑)

17、Priority: optional Version: 0.1 (版本)Architecture: allMaintainer:iEnzo (維護者)Description:test for i8320 (描述,任寫)Model: app-model-executable AppExecFile: test (執行文件名稱)Vendor:iEnzo (作者)Icon: icon.png (桌面圖標,由圖標路徑決定)2.目錄RES內含1)目錄bin,內含執行文件,必須跟control文件中的AppExecFile保持一致,這個例子中就是test2)圖標文件,必須跟control文件中的Icon保持一致,這個例子中就是icon.png當然圖片比較多也可以建一個目錄保存,比如bitmap,那么control中就要改成Icon:bitmap/icon.png接下來,如果是在linux環境,則返回test目錄上一級命令行執行 dipkg -b test test.ipk 即可打包一個ipk如果不想用linux怎么辦在xp環境下可以下載linux的仿真環境cygwin,安裝時候記得安裝archive相關包(cygwin好像沒有dipkg包)在cygwin命令行中進入test目錄,然后chmod 755 DEBIAN -Rcd DEBIANtar zcf ./control.tar.

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論