日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

MiniGUI开发环境搭建全记录(嵌入式计X86)

發布時間:2024/1/23 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。