1. 移植篇
移植环境
Fedora14, gcc-4.5.1, gnu make 3.82
minigui源码包:(官网下载http://www.minigui.org/zhcn/download/)
libminigui-gpl-3.0.12.tar
minigui-res-be-3.0.12.tar
mg-samples-3.0.12.tar
gvfb-1.0.0.tar
……
mesa-6.5-minigui.tar
Fedora14中安装模拟环境
在home目录下创建一个minigui的目录
mkdir minigui
将这些压缩包拷贝到home/minigui目录下
首先安装minigui的资源文件:
[root@localhost minigui]# tar -xvzf minigui-res-be-3.0.12.tar
[root@localhost minigui]#cd minigui-res-be-3.0.12
[root@localhost minigui]#./configure [如果需要安装到指定路径需指定–prefix=目标路径,否则为默认路径/usr/local]
[root@localhost minigui-res-be-3.0.12]# make install
安装minigui的库文件
[root@localhost minigui]# tar -xvzf libminigui-gpl-3.0.12.tar
[root@localhost minigui]# cd libminigui-gpl-3.0.12
[root@localhost libminigui-gpl-3.0.12]# ./configure
[root@localhost libminigui-gpl-3.0.12]# make -j4
[root@localhost libminigui-gpl-3.0.12]# make install
安装minigui的例子库
[root@localhost minigui]# tar -xzvf mg-samples-3.0.12.tar
[root@localhost minigui]#cd mg-samples-3.0.12
[root@localhost mg-samples-3.0.12]# ./configure
[root@localhost mg-samples-3.0.12]# make -j4 [编译是如果提示相关头文件或库找不到则需安装对应的组件如:libmgplus-1.2.4.tar等]
[root@localhost mg-samples-3.0.12]# make install
安装虚拟缓冲模拟器gvb
[root@localhost minigui]# tar -xzvf gvfb-1.0.0.tar
[root@localhost minigui]#cd gvfb-1.0.0
[root@localhost gvfb-1.0.0]# ./cmake ./ [生成Makefile]
[root@localhost gvfb-1.0.0]# make -j4
[root@localhost gvfb-1.0.0]# make install
make -j4时错误解决:
在gvfb-1.0.0/src/CMakeFiles/gvfb.dir目录下有一个link.txt文件,这里面是链接gvfb时用的命令,链接时会调用,在项目根目录,即gvfb-1.0.0/里运行sudo cmake ./后,把原link.txt文件加上:
-lX11 -L/usr/lib/libXtst.so -L/usr/lib/libX11.so 就行了.
测试minigui程序
[root@localhost lf_skin]# gvfb -m& [后台启动gvfb]
[root@localhost lf_skin]# ./demo
安装Opengl库– mesa
[root@localhost minigui]# tar -xzvf mesa-6.5-minigui.tar
[root@localhost minigui]#cd mesa-6.5-minigui
[root@localhost mesa-6.5-minigui]# make linux-minigui
Run Mesa demo for MiniGUI:
cdprogs/minigui
export LD_LIBRARY_PATH=/mesa-6.5-minigui/lib/
$ ./gears2
注意:
1. 提示找不到lminigui库?
打开 mesa-6.5-minigui/configs/linux-minigui文件,找到
APP_LIB_DEPS = -ljpeg -lpng -lminigui -lm -lpthread 这一行
因为minigui-3.0.12生成的库为minigui_ths, 所以需要把-lminigui改为-lminigui_ths或创建一个软连接libminigui.so
提示/usr/local/lib/libminigui_ths.so: undefined reference to `dlsym’
针对miniGUI3.0.12,不加-ldl会报错, APP_LIB_DEPS中加入-ldlglut_cmap.c:23:66:fatal error:X11/Xmu/StdCmap.h: No such file
安装:yum install libX11-devel
yum install libXmu-devel
yum install libXt-devel
**
移植PNG(注minigui-3.0.12只支持libpng-1.2.37(从minigui官网下载))
移植freetype
在海思平台开启–enable-cache=yes, –with-ttfcachesize=大小 ,应用程序使用ttf字体时程序崩溃,目前尚且不知道原因?