Chinaunix首页 | 论坛 | 博客
  • 博客访问: 971984
  • 博文数量: 192
  • 博客积分: 3070
  • 博客等级: 中校
  • 技术积分: 1861
  • 用 户 组: 普通用户
  • 注册时间: 2007-06-27 23:44
个人简介

Start Linux Leave Linux a while Back to Linux

文章分类

全部博文(192)

文章存档

2023年(18)

2022年(11)

2021年(8)

2020年(14)

2019年(7)

2018年(13)

2017年(16)

2016年(4)

2012年(2)

2011年(13)

2010年(26)

2009年(13)

2008年(27)

2007年(20)

我的朋友

分类: LINUX

2018-09-30 18:28:01

移植minigui需要到官网下载以下文件:



1. zlib-1.2.2.tar.gz
2. freetype-2.3.9-fm20100818.tar.gz
3. jpegsrc.v7.tar.gz
4. libminigui-gpl-3.0.12.tar.gz
5. libpng-1.2.37.tar.gz
6. mg-samples-3.0.12.tar.gz
7. minigui-res-be-3.0.12.tar.gz
8. 其他文件依据自己项目决定下载。

移植步骤:
1. zlib-1.2.2
tar -zxvf zlib-1.2.2.tar.gz 
./configure –shared 
配置结束后修改Makefile:
PREFIX=arm-linux-gnueabi- CC=$(PREFIX)gcc LDSHARED=$(CC) -shared -Wl,-soname,libz.so.
CPP=$(CC) -E AR=$(PREFIX)ar rc prefix =--prefix=/usr/lichee/miniGUI/cross/zlib
 
2. freetype-2.3.9-fm20100818
tar -zxvf freetype-2.3.9-fm20100818.tar.gz 
configure配置: 
./configure --host=arm-linux-gnueabi --enable-shared --prefix=/usr/lichee/miniGUI/cross/freetype
make 
make install

3. jpeg-7
tar -zxvf jpegsrc.v7.tar.gz 
configure配置: 
./configure --host=arm-linux-gnueabi --enable-shared --prefix=/usr/lichee/miniGUI/cross/jpeg-7
make
make install

 

4. libpng-1.2.37

tar -zxvf libpng-1.2.37.tar.gz 

configure配置:

LDFLAGS="-L/usr/lichee/miniGUI/cross/zlib/lib" #

CPPFLAGS="-g -I/usr/lichee/miniGUI/cross/zlib/include" #

./configure #

CC=arm-linux-gnueabi-gcc #

LD=arm-linux-gnueabi-ld #

AS=arm-linux-gnueabi-as #

AR=arm-linux-gnueabi-ar #

CXX=arm-linux-gnueabi-g++ #

--enable-shared #

--host=arm-linux-gnueabi

修改 Makefile prefix=/usr/lichee/miniGUI/cross/png

然后 make && make install

 

5. minigui-res-be-3.0.12

tar -zxvf minigui-res-be-3.0.12.tar.gz 

创建auto_config 文件,并输入

CC=arm-linux-gnueabi-gcc #

CXX=arm-linux-gnueabi-g++ #

LD=arm-linux-gnueabi-ld  #

AS=arm-linux-gnueabi-as  #

AR=arm-linux-gnueabi-ar  #

./configure  #

--prefix=/usr/lichee/miniGUI/cross/res

(以上#号改为反斜杠)

执行 ./auto_config,生成 Makefile 文件

然后 make && make install

 

6. libminigui-3.0.12-linux.tar.gz

tar -zxvf libminigui-3.0.12-linux.tar.gz

创建auto_config 文件,并输入

./configure --prefix=/usr/lichee/miniGUI/cross/core #

--host=arm-linux-gnueabi #

--with-osname=linux #

--disable-pcxvfb #

--enable-gifsupport #

--enable-jpgsupport #

--enable-pngsupport #

--with-targetname=fbcon #

--with-ttfsupport=ft2

(以上#号改为反斜杠)

然后 make && make install

 

7. 安装 libmgplus-1.2.4

先设置环境变量

export PKG_CONFIG_PATH=/usr/lichee/miniGUI/cross/core/lib/pkgconfig

再运行

./configure #

  --host=arm-linux-gnueabi #

  --prefix=/usr/lichee/miniGUI/cross/mgplus #

  CPPFLAGS=-I/usr/lichee/miniGUI/cross/core/include #

  MINIGUI_CFLAGS=-I/usr/lichee/miniGUI/cross/core/include

(以上#号改为反斜杠)

然后 make && make install

 

8. mg-samples-3.0.12

tar -zxvf mg-samples-3.0.12.tar.gz

这个是minigui的demo sample。

configure配置:

先设置 PKG_CONFIG_PATH 环境变量,指向minigui.pc的路径

export PKG_CONFIG_PATH="/usr/lichee/miniGUI/cross/core/lib/pkgconfig"

 

./configure --prefix=/usr/lichee/miniGUI/cross/samples #

--host=arm-linux-gnueabi
(以上#号改为反斜杠)

然后 make

报错1:

.../lib/libminigui_ths.so: undefined reference to `WndClientRect'

.../lib/libminigui_ths.so: undefined reference to `pixel2rgb'

.../lib/libminigui_ths.so: undefined reference to `WndRect'

 

回到 libminigui-3.0.12-linux 目录

$grep -r "WndClientRect" .

发现WndClientRect在libminigui-3.0.12-linux/src/newgdi/gdi.c中,

将inline void WndRect(HWND hWnd, PRECT prc)和inline void WndClientRect(HWND hWnd, PRECT prc)前面的inline去掉。

 

$grep -r "pixel2rgb" .

发现pixel2rgb在libminigui-3.0.12-linux/src/mybmp/winbmp.c中,

将inline void pixel2rgb (gal_pixel pixel, GAL_Color* color, int depth)前面的inline去掉。

$make;make install

回到 mg-samples-3.0.12目录,继续 make

 

报错2: dlgdemo.c:40:10: fatal error: mgplus/mgplus.h: No such file or directory

修改 auto_config 为如下:
CPPFLAGS="-I/usr/lichee/miniGUI/cross/core/include -I/usr/lichee/miniGUI/cross/mgplus/include" #
./configure #
--prefix=/usr/lichee/miniGUI/cross/samples #
--host=arm-linux-gnueabi #
CFLAGS=-march=armv5

(以上#号改为反斜杠)
然后重新 make && make install

问题1: 

checking for MINIGUI... configure: error: Package requirements (minigui >= 3.0.10) were not met:
No package 'minigui' found

Consider adjusting the PKG_CONFIG_PATH environment variable if you
installed software in a non-standard prefix.

设置环境变量
export PKG_CONFIG_PATH="/usr/lichee/miniGUI/cross/core/lib/pkgconfig"

阅读(1235) | 评论(0) | 转发(0) |
0

上一篇:LicheePi rootfs自动登陆

下一篇:awk使用

给主人留下些什么吧!~~