Ubuntu移植MiniGUI

本文详细记录了在Ubuntu系统中移植MiniGUI的过程,包括库文件的下载、32位库的安装、QT的qvfb安装(涉及qt-4.8.6和qt-3.3.0的编译与环境变量配置)以及MiniGUI的安装与配置。在安装过程中遇到了多个错误,如编译选项、库文件路径、环境变量等问题,并给出了相应的解决方法。最终通过调试解决了VideoSync函数导致的程序崩溃问题,使得MiniGUI能够成功运行。
摘要由CSDN通过智能技术生成

1 库文件下载

minigui3.0.12文件下载

iphone-like-demo-1.0.0.tar.gz
libminigui-gpl-3.0.12.tar.gz			minigui核心库文件
mg-samples-3.0.12.tar.gz			minigui例子文件
minigui-res-be-3.0.12.tar.gz			minigui资源文件
libmgplus-1.2.4.tar.gz				minigui高级图形功能
libmgi-2.0.4.tar.gz				minigui的输入法
zlib-1.2.2.tar.gz
jpegsrc.v7.tar.gz
libpng-1.2.37.tar.gz
freetype-2.3.9-fm20100818.tar.gz

环境

Ubuntu 14.04.5 LTS 64位
MiniGui3.0.12
Qt-3.3.0

2 lib安装

首先安装编译32位程序的库,因为minigui编译成32位程序比较容易,如果编译换成64位程序,会有很多错误需要修改,安装之前,建议先把本文看完

sudo apt-get install g++-multilib ia32-libs libc6-dev-i386 linux32

可能有些库没有,但是控制台会提示替代能替代的库,安装就好
libpnglibjpegzlibfreetype这四个库都是解压后执行下面的命令,安装到/usr/local/lib

CC="gcc -m32" ./configure
make
sudo make install

3 qvfb安装

安装依赖的第三方库

sudo apt-get install libx11-dev libxext-dev libxtst-dev

这些也安装好

sudo apt-get install build-essential subversion git-core libncurses5-dev \
	zlib1g-dev gawk flex quilt libssl-dev xsltproc libxml-parser-perl \
	mercurial bzr ecj cvs unzip ia32-libs

3.1 qt-4.8.6

不需要安装qt-4.8.6,此处记录我艰难的安装过程,直接安装qt-3.3.0即可。
qt-4.8.6下载
选择文件qt-everywhere-opensource-src-4.8.6.tar.gz,解压并进入文件夹,安装到/home/anruliu/software/qt-4.8.6这个文件夹下

CC="gcc -m32" CXX="g++ -m32" ./configure -opensource -prefix /home/anruliu/software/qt-4.8.6

CC=“gcc -m32” CXX="g++ -m32"是编译成32位的,实际上不需要编译成32位程序,去掉即可,之后出现开源许可,输入yes接受,通过库文件检查之后输入

make && make install

编译通过,安装完成后,需要将qt的库和可执行文件路径配置到环境变量中,否则在安装qvfb时会报错

sudo gedit ~/.bashrc

在文件最后面后面加上

export PATH=/home/anruliu/software/qt-4.8.6/bin:$PATH

使环境变量生效

source ~/.bashrc

进入qt4.8.6源码目录下的tools/qvfb,执行qmake命令

qmake

如果出现错误找不到qmake命令,则是因为环境变量配置没有生效,生效之后报错看下面的错误,qmake执行成功,执行make命令,开始编译,编译前可以在/tools/qvfb/main.cpp中更改widthheightdepth的值

make

编译成功后,将源码目录bin下的qvfb文件拷贝到qt安装目录bin下,双击qvfb就可以运行,也可以在bin目录下执行

./qvfb

qvfb安装成功。在需要使用minigui前,先打开qvfb模拟工具,让其在后台运行,这样minigui的界面就可以正常运行了。
qvfb运行画面
错误

qmake: could not exec '/usr/lib/x86_64-linux-gnu/qt4/bin/qmake': No such file or directory

解决

sudo gedit /usr/lib/x86_64-linux-gnu/qt-default/qtchooser/default.conf

/usr/lib/x86_64-linux-gnu/qt4/bin 改为 /home/anruliu/software/qt-4.8.6/bin

错误

undefined reference to `png_create_write_struct'
undefined reference to `png_create_info_struct'
undefined reference to `png_set_compression_level'
undefined reference to `png_set_write_fn'

解决
打开/tools/qvfb/Makefile文件,找到LIBS变量,增加 -L/usr/local/lib -lpng

错误

/usr/bin/ld: skipping incompatible /home/anruliu/workspace/minigui/qt-everywhere-opensource-src-4.8.6/src/tools/bootstrap/libbootstrap.a when searching for -lbootstrap
/usr/bin/ld: cannot find -lbootstrap

解决
打开/src/tools目录下的idc,moc,rcc,uic,uic3文件夹里面的Makefile文件,把LINK=g++改为LINK=g++ -m32
打开/src目录下的corelib、xml、network、sql、testlib、gui、qt3support、xmlpatterns、multimedia、svg、script、declarative、scripttools、plugins、imports的Makefile文件也修改,其中plugins和imports的子目录下也有很多Makefile,注意不要漏了。还有很多很多处需要修改,根据出错的路径更改即可!!!
因为CC和CXX在./configure的时候都改成

评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值