MiniGUI开发环境搭建全记录(嵌入式计X86)
需要root權限,并且解壓后執行如下安裝命令:
?
在LINUX入門邊上,最近一直在學習。。。本來打算用QT的。。發現那東西太大,,,,最還是選擇MINIGUI。。
下面是安裝過程及出現問題的一些解決方法。
選擇MINIGUI1.6.2,下載地址:http://blog.21ic.com/user1/5108/archives/2008/50737.html
1 安裝minigui庫、資源
編譯 libminigui ?,這個是 minigui 運行所必需的庫文件,必須編譯成功
這里最好是把
# ./configure ? ? ? ? ? ? ? ? //最簡單的編譯方式,讓它自己去配置 ,這里采用缺省的Thread 模式而不是Lite模式,因為這種方式在 PC 機上使用最方便,后面移到板子上再改成 Lite 模式即可
通過后,開始編譯
# make
接來來就是漫長的等待了,讓它慢慢的編譯吧
# make install
好了,編譯完成,下一步解壓安裝minigui資源:
# cd minigui-gpl-res-1.6
# make install
至此庫和資源安裝完畢,還需要進行一些設置:
首先,修改你的 /etc/ld.so.conf文件,在里面最后新加入一行 /usr/local/lib
這 一步最關鍵,決定你開始的程序能不能找到它的庫
然后執行
#?ldconfig
# vi /usr/local/etc/MiniGUI.cfg
在里面找到
[system]
# GAL engine
#gal_engine=fbcon
gal_engine=qvfb ? //這里修改
# IAL engine
#ial_engine=console
ial_engine=qvfb ? ?//這里修改
mdev=/dev/mouse
mtype=IMPS2
[fbcon]
defaultmode=1024x768-16bpp
[qvfb]
defaultmode=640x480-16bpp ? ?//這里修改
display=0
保存一下,OK了! 至此庫和資源安裝設置完畢。
?
2 安裝qvfb:qvfb這個程序可以作為minigui程序的顯示載體。linux中沒有這個程序,所以需要我們安裝一下,然后minigui程序就可以顯示在qvfb上了。
拷貝光盤上的qvfb-1.1.tar.gz包到/usr/minigui下,然后解壓、安裝。
# tar zxf qvfb-1.1.tar.gz
# cd qvfb-1.1
# ./configure
# make
# make install
可能出現的問題:
?
安裝完畢!
1. 啟動程序時出錯:
NEWGAL: Set video mode failure.
GDI: Can not initialize graphics engine!
InitGUI failure when using /usr/local/etc/MiniGUI.cfg as cfg file.
Video mode smaller than requested
原因:qvfb中的顯示設置與MiniGUI.cfg中的顯示設置不一樣所致,修改成一樣就可以了。
2. 啟動程序時出錯:GAL: Does not find matched engine.
GDI: Can not get graphics engine information!
InitGUI failure when using incore resource.
原因:在配置MiniGUI時沒有選擇qvfb選項或沒有選擇需要的位深支持,進入make menuconfig中的“GAL engine options”,選上“Native GAL engine on Linux FrameBuffer console”、“Native GAL engine on Qt Virtual FrameBuffer”和需要的位深模式(如“16BPP FB”)后重新編譯即可。
3. 我自己寫了一個程序,但是在編譯時提示:linux:/home/work1/app # gcc -o hello hello.c -lpthread -lminigui
/usr/local/lib/libminigui.so: undefined reference to `CustomizeDesktopMenu’
/usr/local/lib/libminigui.so: undefined reference to `CustomDesktopCommand’
collect2: ld returned 1 exit status
原因:我使用的是MiniGUI-Thread(在make menuconfig中指定),程序中沒有包含必須的minigui/dti.c,所以會出錯。
4. /usr/local/lib/libminigui.so: undefined reference to `pthread_kill_other_threads_np’
原因:刪除 MiniGUI 源代碼中調用’pthread_kill_other_threads_np’這個函數
的語句。應該在 src/kernel/init.c 文件中,也可以運行 grep 找一下這個函數。
5. 運行miniGUI的例子出現以下錯誤,
IAL Native Engine: Can not init mouse!
IAL: Init IAL engine failure.
DESKTOP: Low level event initialization failure!
InitGUI failure when using /usr/local/etc/MiniGUI.cfg as cfg file.
原因:修改/usr/local/etc/MiniGui.cfg文件:
? ???[system]
? ???# GAL engine
? ???gal_engine=qvfb
? ???# IAL engine
? ???ial_engine=qvfb
6. freetype_font_ops問題解決方法:a.把頭文件中的extern FONTOPS freetype_font_ops;改為static FONTOPS freetype_font_ops;b.安裝freetype-1.3.1
?
7 cheching for Qt...configure:error: Qt(>= Qt 3.0.3)(headers and libraries)not found.please check your installation!
解決辦法:使用kde 即可 不要用gnome,或用默認的QT。。。。或編譯qt時候加上-thread就可以了
?3 移植過程
1? 在X86的LINUX上設置:/etc/ld.so.conf文件,在里面最后新加入一行 /usr/local/lib
2 把PC上的/usr/local/lib 拷到X86上相同的文件夾下
總結
以上是生活随笔為你收集整理的MiniGUI开发环境搭建全记录(嵌入式计X86)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 如何在Linux下创建与解压zip, t
- 下一篇: 虚拟机和主机文件共享的四种方法