minigui移植到hi3531

  • 格式:docx
  • 大小:29.71 KB
  • 文档页数:8

miniGUI3.0.12移植到Hi3531

分类: linux2013-04-22 10:01 412人阅读 评论(1) 收藏 举报

minigui hi3531

miniGUI3.0.12移植到Hi3531

之前一直在用miniGUI2.0的版本,看到现在miniGui3.0 GPL开源了,所以下载来移植到Hi3531平台上,下面阿来详细将这个移植过程记录如下:

一、移植资源包:

下载miniGUI3.0.12组件

简单介绍一下各个库:

freetype:字体

qvfb2和gvfb::虚拟显存,主要用在pc机上做仿真

jpegsrc:显示jpeg图像时要用到的库

libpng:显示png图像时要用到的库

zlib:PNG压缩算法

libminigui:minigui3.0.12的核心库

minigui-res:minigui3.0.12资源文件,包括字体、图标、位图等

mg-samples:minigui3.0.12例子程序

minigui3.0.12可选组件: libmg3d(3D支持)、libmgi(提供输入接口)、libmgp(提供打印机接口的支持)、libmgplus(2D矢量图支持和图像加速)、libmgutils(提供一些常用对话框的模板),可以根据自己的需要来使用。

在这里我只安装了freetype,zlib,,jpegsrc,,libpng, libmgplus以及res,主库,和sample。 这里提示下,下面操作的安装目录是:/opt/hisi-linux-nptl/arm-hisiv100-linux/arm-hisiv100-linux-uclibcgnueabi 这里你自己选择合适的安装目录就可以了。

二、编译zlib库

编译配置脚本:

1. [root@localhost]CC=arm-hisiv100nptl-linux-gcc \

2. CXX=arm-hisiv100nptl-linux-g++ \

3. LD=arm-hisiv100nptl-linux-ld \

4. AS=arm-hisiv100nptl-linux-as \

5. AR=arm-hisiv100nptl-linux-ar \

6. ./configure \

7. --prefix=/opt/hisi-linux-nptl/arm-hisiv100-linux/arm-hisiv100-linux-uclibcgnueabi \

8. --shared

9. [root@localhost] make

10. [root@localhost] make install

三、编译png库

编译配置脚本:

1. [root@localhost]CC=arm-hisiv100nptl-linux-gcc \

2. CXX=arm-hisiv100nptl-linux-g++ \

3. LD=arm-hisiv100nptl-linux-ld \

4. AS=arm-hisiv100nptl-linux-as \

5. AR=arm-hisiv100nptl-linux-ar \

6. ./configure \

7. --prefix=/opt/hisi-linux-nptl/arm-hisiv100-linux/arm-hisiv100-linux-uclibcgnueabi \

8. --build=i386-linux \

9. --host=arm-hisiv100nptl-linux \

10. --target=arm-hisiv100nptl-linux \

11. [root@localhost] make

12. [root@localhost] make install

注意;如果编译时报错提示zlib库没有安装的,解决方法:

在编译之前(我是在configure之前),手动指定一下参数: 1. export CFLAGS="-I/opt/hisi-linux-nptl/arm-hisiv100-linux/arm-hisiv100-linux-uclibcgnueabi/include"

2. export LDFLAGS="-L/opt/hisi-linux-nptl/arm-hisiv100-linux/arm-hisiv100-linux-uclibcgnueabi/lib"

四、编译jpeg库

编译配置脚本:

1. [root@localhost]CC=arm-hisiv100nptl-linux-gcc \

2. CXX=arm-hisiv100nptl-linux-g++ \

3. LD=arm-hisiv100nptl-linux-ld \

4. AS=arm-hisiv100nptl-linux-as \

5.

AR=arm-hisiv100nptl-linux-ar \

6. ./configure \

7. --prefix=/opt/hisi-linux-nptl/arm-hisiv100-linux/arm-hisiv100-linux-uclibcgnueabi \

8. --build=i386-linux \

9. --host=arm-hisiv100nptl-linux \

10. --target=arm-hisiv100nptl-linux \

11. --enable-shared \

12. [root@localhost] make

13. [root@localhost] make install

五、编译freetype库

编译配置脚本:

1. [root@localhost]./configure \

2. --host=arm-hisiv100nptl-linux \

3. --prefix=/opt/hisi-linux-nptl/arm-hisiv100-linux/arm-hisiv100-linux-uclibcgnueabi \

4. --enable-static \

运行配置脚本后,修改:

1. [root@localhost] vim config.cache

2. # 修改如下行

3. ac_cv_path_LD=${ac_cv_path_LD=arm-linux-gnu-ld}

4. ac_cv_prog_CC=${ac_cv_prog_CC=arm-linux-gnu-gcc}

5. ac_cv_prog_CPP=${ac_cv_prog_CPP='arm-linux-gnu-gcc -E'}

6. #重新配置,再运行一次配置脚本

7. #修改Makefile文件,以跳过编译test目录。

8. # 去掉“all:”后的变量“tttest” 9. # 注释掉“install:”下的第二行:“cd $(FTTESTDIR); $(MAKE) –f$(MAKEFILE) install”

之后编译:

1. [root@localhost]make

2. [root@localhost]make install

六、安装minigui资源库

编译配置脚本:

1. [root@localhost]CC=arm-hisiv100nptl-linux-gcc \

2. CXX=arm-hisiv100nptl-linux-g++ \

3. LD=arm-hisiv100nptl-linux-ld \

4. AS=arm-hisiv100nptl-linux-as \

5. AR=arm-hisiv100nptl-linux-ar \

6. ./configure \

7. --prefix=/opt/hisi-linux-nptl/arm-hisiv100-linux/arm-hisiv100-linux-uclibcgnueabi \

8. [root@localhost]make

9. [root@localhost]make install

七、编译minigui核心库

编译配置脚本:

1. [root@localhost]CC=arm-hisiv100nptl-linux-gcc \

2. CPP=arm-hisiv100nptl-linux-cpp \

3. LD=arm-hisiv100nptl-linux-ld \

4. AR=arm-hisiv100nptl-linux-ar \

5. RANLIB=arm-hisiv100nptl-linux-ranlib \

6. STRIP=arm-hisiv100nptl-linux-strip \

7. LDFLAGS="-L/home/minicross/miniarm/lib_hi3531" \

8. CPPFLAGS="-I/home/minicross/miniarm/include_hi3531" \