MiniGUI3.0.12及组件下载地址http://www.minigui.org/downloads/index.html
libmgplus-1.2.4下载地址http://download.csdn.net/download/yong_f/4062807
1. 需要下载的组件
libminigui-gpl-3_0_12.tar.gzmg-samples-3_0_12.tar.gz
freetype-1_3_1.tar.gz
jpegsrc_v7.tar.gz
libpng-1_2_37.tar.gz
minigui-res-be-3_0_12.tar.gz
zlib-1_2_2.tar.gz
qvfb2-2.0
libmgplus-1.2.4(可以在csdn上下载到)
(qvfb所需要的包)
libqt3-mt
libqt3-mt-dev
alien
qt-devel-3.3.8-4.fc7.i386.rpm
2.安装各组件
<1>libminigui-gpl-3_0_12.tar.gz(库)
./configure --prefix=/usr/local --enable-qvfbial --disable-splash --disable-screensaver
sudo make
sudo make install
<2>minigui-res-be-3_0_12.tar.gz(资源包)
./configure --prefix=/usr/local
sudo make
sudo make install
<3>freetype-1_3_1.tar.gz
./configure --prefix=/usr/local
sudo make
sudo make install
(
在安装时会有ftdump.c的预处理标识符错误,修改./test/ftdump.c里的
Print_Mem( memory_footprint.##field, string )
改为 : Print_Mem( memory_footprint.field, string )
#define FOOTPRINT( field ) Save_Memory( &memory_footprint.##field )
修改为:#define FOOTPRINT( field ) Save_Memory( &memory_footprint.field )
)
<4>安装PNG库
./configure --prefix=/usr/local
sudo make
sudo make install
<5>安装JPEG库
./configure --prefix=/usr/local --enable-shared
sudo make
sudo make install
<6>安装zlib库
./configure --prefix=/usr/local
sudo make
sudo make install
<7>libmgplus-1.2.4
./configure --prefix=/usr/local
sudo make
sudo make install
将/usr/local/lib加入到.bashrc中
<8>安装qvfb2
(因为需要qt-3.3作支持,所以需要先安libqt3-mt,libqt3-mt-dev,下载qt-devel-3.3.8-4.fc7.i386.rpm,然后用alien转为deb,再用dpkg -i --force-overwrite 来安装此包)
sudo apt-get install libqt3-mt
sudo apt-get install libqt3-mt-dev
sudo apt-get install alien
sudo alien qt-devel-3.3.8-4.fc7.i386.rpm
dpkg -i --force-overwrite qt-devel-3.3.8-4.fc7.i386.deb
(开始安qvfb)
cd qvfb2-2.0
./configure --with-qt-includes=/usr/lib/qt-3.3/include --with-qt-libraries=/usr/lib/qt-3.3/lib --with-qt-dir=/usr/lib/qt-3.3
sudo make
sudo make install
(qvfb2与1不同,没有文件输入是不会显示出框图的)
<9>修改MiniGUI.cfg
[system]
# GAL engine and default options
gal_engine=pc_xvfb(修改此处)
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/qvfb
display=0
#{ {ifdef _MGGAL_PCXVFB
[pc_xvfb]
defaultmode=640x480-16bpp
window_caption=XVFB-for-MiniGUI-3.0-(Gtk-Version)
exec_file=/usr/local/bin/qvfb2(修改此处)
display=0
#}}
<10>mg-samples-3.0.12 并运行
./configure --prefix=/usr/local
sudo make
sudo make install
./same/same
问题1:执行示例出现Wrong JPEG library version: library is 70, caller expects 62
原因:在编译libminigui的时候用的库是62,而在编示例时用的是70,导致版本不对
解决办法:将 /usr/lib/libjpeg.so /usr/local/libjpeg.so.62 全指向 libjpeg.so.7.0.0 然后修改 /usr/include/jpeglib.h 中的版本号为 70,然后重新编译libminigui(若是坚持用libjpeg7的话用此办法)
(关于miniGUI在2440上的移植会在下篇更新)
以下是关于minigui的移植,认为是最详细的一篇,经本人实验也已经成功,转自http://www.100ask.net/forum/showtopic-3899.aspx
采用交叉编译方式
【软件环境】
PC:ubuntu 10.04
开发板:Linux 2.6.32.2@2440
Target: arm-none-linux-gnueabi
gcc version 4.4.3
编译minigui3.0并移植需要的文件有
(基本上都是比较新的版本,有些库文件在我尝试后还是选择了比较旧的版本):
FreeType库:
minigui字体引擎
freetype-1_3_1.tar.gz
JPEG库:
minigui显示jpeg图片
jpegsrc.v8c.tar.gz
png库:
minigui显示png图片
libpng-1.0.59.tar.gz
zlib库:
minigui数据压缩函数库
zlib-1.2.6.tar.gz
minigui所用到的资源
minigui-res-be-3_0_12.tar.gz
minigui核心库
libminigui-gpl-3_0_12.tar.gz
minigui样例
mg-samples-3_0_12.tar.gz
Step1:
建立工作目录,如/home/profiles/minigui,将上述*.tar.gz放入该目录,并解压
tar xzf freetype-1_3_1.tar.gz
tar xzf jpegsrc.v8c.tar.gz
tar xzf libpng-1.0.59.tar.gz
tar xzf zlib-1.2.6.tar.gz
tar xzf minigui-res-be-3_0_12.tar.gz
tar xzf libminigui-gpl-3_0_12.tar.gz
tar xzf mg-samples-3_0_12.tar.gz
Step2:
[编译Freetype库]
cd freetype-1.3.1/
(A)./configure --host=arm-linux --enable-static --prefix=/u