Ubuntu14.04安裝MiniGUI

本文主要解決如下問題:

  1. 如何在64位的ubuntu14.04系統上安裝MiniGUI
  2. 解決安裝過程中碰到的問題
  3. Ubuntu14.04環境安裝qvfb工具

準備安裝包和安裝環境

Ubuntu 64bit兼容32bit GCC 交叉編譯環境

方法一:
(1)sudo apt-get install lib32z1
(2)sudo apt-get install lib32stdc++6
方法二(時間較長):
(1)sudo apt-get update
(2)sudo apt-get dist-upgrade
(3)sudo apt-get install ia32-libs
然後安裝
sudo apt-get install libc6-dev-i386 lib32ncurses5-dev

準備MiniGUI安裝包

MiniGui資源下載:MiniGui官網
MiniGui庫版本: 3.0.12
資源文件:
minigui-res-be-3.0.12.tar.gz
libminigui-gpl-3.0.12.tar.gz
libmgplus-1.2.4.tar.gz
mg-samples-3.0.12.tar.gz

安裝MiniGUI

1. 安裝資源文件

解壓資源文件,進入minigui-res-be-3.0.12目錄

$ ./configure –prefix=/home/michael/Program/minigui
$ make && make install
2.安裝minigui文件

解壓文件,進入libminigui-gpl-3.0.12目錄

$ ./configure –prefix=/home/michael/Program/minigui –enable-qvfbial=yes –enable-videoqvfb=yes
$ make && make install

錯誤:png.c:28:17: fatal error: png.h: No such file or directory
解決:sudo apt-get install libpng12-dev
安裝完成後,在指定目錄~/install/minigui下,生成了etc include lib share四個文件夾,分別放置了配置文件、頭文件、庫文件和資源文件,在實際開發時,需要用到這些文件。

3.編譯sample文件

解壓資源文件,進入mg-samples-3.0.12目錄

./configure –prefix=/home/michael/Program/minigui PKG_CONFIG_PATH=/home/michael/Program/minigui/lib/pkgconfig CPPFLAGS=-I/home/michael/Program/minigui/include

錯誤:agg_platform_support.cpp:30:28: fatal error: minigui/common.h: No such file or directory
解決:設置minigui頭文件目錄,CPPFLAGS=-I/home/test/install/minigui/include
錯誤:dlgdemo.c:40:27: fatal error: mgplus/mgplus.h: 沒有那個文件或目錄
解決:設置libmgplus頭文件目錄,CPPFLAGS=-I/home/test/install/minigui/include
提示:No package ‘minigui’ found — 運行configure時增加
PKG_CONFIG_PATH=~/install/minigui/lib/pkgconfig
提示:error: minigui/common.h, 運行configure是增加
CPPFLAGS=-I~/install/minigui/include

ubuntu編譯minigui 3.0.12出現下面錯誤:
object.h:275:9: error: incompatible types when assigning to type ‘va_list’ from type ‘struct __va_list_tag *’
網上搜索了下說是編譯系統是64位導致的,換爲32位就可以了。但是我的編譯系統無法換,看了下,直接在對應的makefile裏面修改把該模塊編譯爲32位。如下:
CFLAGS = -m32 -g -O2
在CFLAGS上加上-m32就可以了。
(這個最好用32位的系統來編譯,不然所有makefile都要修改,比較麻煩)

ubuntu14.04 64位安裝Minigui詳細解決

Ubuntu14.04環境安裝qvfb工具

1、安裝環境
ubuntu 14.04-i386
安裝編譯工具 sudo apt-get install build-essential
安裝依賴的第三方庫 libx11-dev libxext-dev libxtst-dev
qt-4.8.6源碼下載鏈接: http://download.qt.io/archive/qt/4.8/4.8.6/

2、編譯安裝qt-4.8.6
配置 $ ./configure -opensource -prefix /home/test/install/qt
執行make && make install
編譯過程如果突然錯誤提示缺少庫的話就使用apt源默認安裝就好了。
編譯通過,安裝完成後,將qt的庫和可執行文件路徑配置到環境變量中,否則在安裝qvfb時會報錯。

export PATH=$PATH:/home/test/install/qt/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/test/install/qt/lib

這裏沒有安裝到系統默認的/usr/local文件夾下,是因爲我的ubuntu並不需要qt的開發環境,只是需要qvfb工具,纔不得不安裝qt。
如果需要用過qt開發環境的,也可以只用默認安裝。

3、編譯安裝qvfb
配置環境變量成功後,進入qt4.8.6源碼目錄下的tools/qvfb,執行qmake命令。
如果出現錯誤找不到qmake命令,則是因爲環境變量配置沒有生效。
qmake執行成功,執行make命令,開始編譯
如果出現錯誤:

qanimationwriter.cpp:(.text+0x138):對‘png_create_write_struct’未定義的引用
qanimationwriter.cpp:(.text+0x143):對‘png_create_info_struct’未定義的引用
qanimationwriter.cpp:(.text+0x159):對‘png_set_compression_level’未定義的引用
qanimationwriter.cpp:(.text+0x178):對‘png_set_write_fn’未定義的引用

解決步驟:

(1)執行命令
$ locate libpng
查看系統libpng庫位置,如果找不到,需要默認安裝。
我的系統下結果爲:
/lib/i386-linux-gnu/libpng12.so.0

(2)建立軟連接
$ sudo ln -s /lib/i386-linux-gnu/libpng12.so.0 /lib/i386-linux-gnu/libpng.so

(3)修改Makefile文件
打開Makefile文件,找到LIBS變量,增加 -L/lib/lib/i386-linux-gnu -lpng:

LIBS = $(SUBLIBS) -L/home/test/share/code/qt/qt-everywhere-opensource-src-4.8.6/lib -L/usr/X11R6/lib -lz -lXtst -lQtGu i -L/home/test/share/code/qt/qt-everywhere-opensource-src-4.8.6/lib -L/usr/X11R6/lib -L/lib/lib/i386-linux-gnu -lpng -lQtCore -lpthread -lXext -lX11 -lm

保存退出,重新執行。

編譯成功後,將源碼目錄bin下的qvfb文件拷貝到qt安裝目錄bin下。
運行 $ qvfb -width 600 -height 400 &
qvfb安裝成功。在需要使用minigui前,先打開qvfb模擬工具,讓其在後臺運行,這樣minigui的界面就可以正常運行了

運行MiniGUI Sample用例問題

問題1:

./lf_skin: error while loading shared libraries: libminigui_ths-3.0.so.12: cannot open shared object file: No such file or directory

解決辦法:

export LD_LIBRARY_PATH=/home/michael/Program/minigui/lib_x86/lib:$LD_LIBRARY_PATH

問題2:

MISC: Can not locate your MiniGUI.cfg file or bad files!
KERNEL>InitGUI: Initialization of misc things failure!
````
解決:把libminigui-gpl-3.0.12/etc/MiniGUI.cfg複製到當前目錄下[mg-samples-3.0.12/src]

問題3:




<div class="se-preview-section-delimiter"></div>

execlp error!!
execl: No such file or directory
NEWGAL>PCXVFB: Wait too long for CLIENT.
NEWGAL: Does not find matched engine: pc_xvfb.
KERNEL>InitGUI: Can not get graphics engine information!

解決:




<div class="se-preview-section-delimiter"></div>

[system]

GAL engine and default options

gal_engine=qvfb(修改此處)
defaultmode=640x480-16bpp(修改此處)
IAL engine
ial_engine=qvfb
mdev=/dev/input/mice
mtype=IMPS2
[fbcon]
defaultmode=1024x768-16bpp
[qvfb]
defaultmode=640x480-16bpp
window_caption=QVFB-for-MiniGUI-3.0
exec_file=/usr/local/bin/qvfb2 (修改此處)
display=0
[pc_xvfb]
defaultmode=640x480-16bpp
window_caption=XVFB-for-MiniGUI-3.0-(Gtk-Version)
exec_file=/usr/local/bin/qvfb2
display=0

問題4:
NEWGAL: Does not find matched engine: qvfb.
KERNEL>InitGUI: Can not get graphics engine information!
解決:
在安裝libminigui-gpl-3.0.12時增加配置--with-targetname=qvfb --enable-qvfbial=yes
參照第6)條

問題5:
FONT>LogFont: requested info: type: rbf, family: vgaoem, style: 10000, charset: ISO8859-1, size: 8.
FONT>LogFont: created info: type: rbf, family: VGAOEM, style: 10000, charset: ISO8859-1, size: 8.
KERNEL>InitGUI: Count not init mouse cursor!
KERNEL>InitGUI: Init failure, please check your MiniGUI configuration or resource.
解決:
修改MiniGUI.cfg配置文件
[cursorinfo]
108 # Edit following line to specify cursor files path
109 #cursorpath=/usr/local/share/minigui/res/cursor/
110 cursorpath=/home/colin/minigui/lib_x86/share/minigui/res/cursor/
111 cursornumber=23

[resinfo]
137 #respath=/usr/local/share/minigui/res/
138 respath=/home/colin/minigui/lib_x86/share/minigui/res/

至此minigui全部問題得到解決。






<div class="se-preview-section-delimiter"></div>

####附錄
minigui顯示中文,MiniGUI.cfg配置如下:




<div class="se-preview-section-delimiter"></div>

[systemfont]
font_number=10
font0=rbf-FixedSys-rrncnn-8-16-ISO8859-1
font1=-FixedSys-rrncnn--16-ISO8859-1
font2=-Courier-rrncnn--16-ISO8859-1
font3=-SansSerif-rrncnn--16-ISO8859-1
font4=-System-rrncnn--16-ISO8859-1
font5=-fixed-rrncnn--16-GB2312
font6=-Courier-rrncnn--16-GB2312
font7=-SansSerif-rrncnn--16-GB2312
font8=-Times-rrncnn--16-GB2312
font9=-Helvetica-rrncnn--16-GB2312
下面幾個參數配置不正確可能導致中文亂碼,具體參數查看用戶手冊。
default=0
wchar_def=5
fixed=5
caption=5
menu=5
control=5
[rawbitmapfonts]
font_number=4
name0=rbf-fixed-rrncnn-8-16-ISO8859-1
fontfile0=/home/colin/minigui/lib_x86/share/minigui/res/font/8x16-iso8859-1.bin
name1=rbf-fixed-rrncnn-16-16-GB2312-0
fontfile1=/home/colin/minigui/lib_x86/share/minigui/res/font/song-16-gb2312.bin
name2=rbf-fixed-rrncnn-6-12-ISO8859-1
fontfile2=/home/colin/minigui/lib_x86/share/minigui/res/font/6x12-iso8859-1.bin
name3=rbf-fixed-rrncnn-12-12-GB2312-0
fontfile3=/home/colin/minigui/lib_x86/share/minigui/res/font/song-12-gb2312.bin
[varbitmapfonts]
font_number=6
name0=vbf-Courier-rrncnn-8-13-ISO8859-1
fontfile0=/home/colin/minigui/lib_x86/share/minigui/res/font/Courier-rr-8-13.vbf
name1=vbf-Helvetica-rrncnn-11-12-ISO8859-1
fontfile1=/home/colin/minigui/lib_x86/share/minigui/res/font/Helvetica-rr-11-12.vbf
name2=vbf-Times-rrncnn-10-12-ISO8859-1
fontfile2=/home/colin/minigui/lib_x86/share/minigui/res/font/Times-rr-10-12.vbf
name3=vbf-Courier-rrncnn-10-15-ISO8859-1
fontfile3=/home/colin/minigui/lib_x86/share/minigui/res/font/Courier-rr-10-15.vbf
name4=vbf-Helvetica-rrncnn-15-16-ISO8859-1
fontfile4=/home/colin/minigui/lib_x86/share/minigui/res/font/Helvetica-rr-15-16.vbf
name5=vbf-Times-rrncnn-13-15-ISO8859-1
fontfile5=/home/colin/minigui/lib_x86/share/minigui/res/font/Times-rr-13-15.vbf
“`

[system]
# GAL engine and default options
gal_engine=qvfb(修改此處)
defaultmode=640x480-16bpp(修改此處)
IAL engine
ial_engine=qvfb
mdev=/dev/input/mice
mtype=IMPS2
[fbcon]
defaultmode=1024x768-16bpp
[qvfb]
defaultmode=640x480-16bpp
window_caption=QVFB-for-MiniGUI-3.0
exec_file=/usr/local/bin/qvfb2 (修改此處)
display=0
[pc_xvfb]
defaultmode=640x480-16bpp
window_caption=XVFB-for-MiniGUI-3.0-(Gtk-Version)
exec_file=/usr/local/bin/qvfb2
display=0

問題4:
NEWGAL: Does not find matched engine: qvfb.
KERNEL>InitGUI: Can not get graphics engine information!
解決:
在安裝libminigui-gpl-3.0.12時增加配置–enable-qvfbial=yes –enable-videoqvfb=yes
參照第6)條

問題5:
FONT>LogFont: requested info: type: rbf, family: vgaoem, style: 10000, charset: ISO8859-1, size: 8.
FONT>LogFont: created info: type: rbf, family: VGAOEM, style: 10000, charset: ISO8859-1, size: 8.
KERNEL>InitGUI: Count not init mouse cursor!
KERNEL>InitGUI: Init failure, please check your MiniGUI configuration or resource.
解決:
修改MiniGUI.cfg配置文件
[cursorinfo]
108 # Edit following line to specify cursor files path
109 #cursorpath=/usr/local/share/minigui/res/cursor/
110 cursorpath=/home/colin/minigui/lib_x86/share/minigui/res/cursor/
111 cursornumber=23

[resinfo]
137 #respath=/usr/local/share/minigui/res/
138 respath=/home/colin/minigui/lib_x86/share/minigui/res/

至此minigui全部問題得到解決。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章