Ubuntu下miniGUI3.0.12安装与移植

本文档详细介绍了如何在Ubuntu系统中编译和移植MiniGUI3.0.12及其相关组件,包括Freetype、JPEG、PNG和zlib库。在编译过程中解决了版本不匹配的问题,并提供了交叉编译的步骤,确保在目标平台(如Linux 2.6.32.2@2440)上的运行。移植过程包括配置环境、修改Makefile、编译各个库、解决链接错误以及在目标系统上运行示例。
摘要由CSDN通过智能技术生成

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.gz
mg-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

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值