ARM-LINUX 系列 (六) ----minigui的安装 -- 终极成功版!!

2019-07-12 23:27发布

环境:ubuntu16.4  kylin 32位(一开始是64位的不过后来由于各种各样的问题,换成32位了),不过基本上我遇到的所有问题这篇博客都写了。所以按照本篇博客安装,有很大几率安装成功。在32位环境下安装时,按照本博客安装时,可能不会遇到那么多错误,跳过即可。反正本人安装成功了~~~在64位下安装,不保证能成功!!
一、文件的下载安装前准备 :sudo apt-get install build-essential 包含许多基本库
点此链接下载  下面的都要下载



二、建立一个文件夹,将上面的文件放在那
2.1首先安装依赖库:tar zxf zlib-1.2.2.tar.gz #编译zlib
cd zlib-1.2.2/./configure sudo makesudo  make installcd ..
 同样的步骤,安装 libjpeg
tar zxf  jpegsrc.v7.tar.gz 
同样的步骤 安装libpng tar zxf   libpng-1.2.37.tar.gz
此处configure为    ./configure  --enable-shared注意 如果此处出现报错configure: error: ZLib not installed
那么回到安装zlib的界面 用下面这个指令安装CFLAGS="-O3 -fPIC" ./configure   //使用64位元的方法进行编译
同样的步骤 安装freetypetar xzf freetype-2.3.9-fm20100818.tar.gz  
安装qvfb2  ./configure时需要qt3的库,解决办法:sudo vim /etc/apt/sources.list  添加包含libqt3的库,
deb http://cz.archive.ubuntu.com/ubuntu precise main
添加完后sudo apt-get update 更新库这时安装 sudo apt-get install libqt3-mt 库,提示依赖库没有被包含sudo apt-get -f install  包含依赖的库 
sudo apt-get install libqt3-mt
sudo apt-get install libqt3-mt-dev
安装完毕如果报错checking for X... configure: error: Can't find X includes. Please check your installation and add the correct paths!
那么 sudo apt-get install libx11-dev xorg-dev./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
依然出现缺少qt3的库sudo ln -s /usr/include/qt3 /usr/lib/qt3/include  建立动态链接 
重新configure  成功sudo make 报错
百度修改

修改为
编译通过sudo make install  安装完毕 2.2安装minigui安装 minigui-res-be-3.0.12  方法同上 
1. tar zxf libminigui-3.0.12-linux.tar.gz./configure   sudo make   
sudo make install2.  
编译出错,提示
用vim修改
修改如下
修改后重新 sudo make

编译通过  sudo make install在如下路径新建一个文件

3.  安装minigui组件tar zxf  libmgplus-1.2.4.tar.gz./configure  sudo makesudo make install报错:make[4]: *** [lf_fashion.lo] Error 1
make[4]: Leaving directory `/home/sun/minigui/libmgplus-1.2.4/src/api'
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory `/home/sun/minigui/libmgplus-1.2.4/src/api'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/home/sun/minigui/libmgplus-1.2.4/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/sun/minigui/libmgplus-1.2.4'

解决方法:这主要是64位机上编译32位的问题,打开/libminigui-3.0.12-linux/include/common.h 做如下修改
:将typedef unsigned int HICON 改为 typedef unsigned long HICON  然后重新编译libminigui。 解决

继续向下编译  全部 ./configure  sudo make sudo make install
tar xzf libmgi-2.0.4.tar.gz
libmg3d-1.0.2.tar.gz
 libmgutils-1.0.4.tar.gzlibmgp-1.2.2.tar.gz
libmgncs-1.0.8.tar.gz   再次遇到    _va.va = va;

修改:
需要mgplus,用vim注释掉这一句,编译成功
4.编译mg-samples-3.0.12.tar.gz 方法  ./configure  sudo make sudo make install
再次遇到缺少mgplus/mgplus.h  依然用vim注释掉出现错误:/usr/local/lib/libminigui_ths.so: undefined reference to `WndClientRect'/usr/local/lib/libminigui_ths.so: undefined reference to `WndRect'
结局方法:在该路径: WndClientRect与WndRect函数前面的inline删掉。重新编译

编译成功
此时会看到编译成功后的执行文件
安装成功  运行  ./helloworld  安装成功