查看: 2270|回复: 10

[原创] 海思3536,3520D上移植minigui3.0.2 小白点进来

  [复制链接]
发表于 2017-4-12 23:16:28 | 显示全部楼层 |阅读模式
本帖最后由 bugcong 于 2017-4-13 08:56 编辑

本人还是大学没毕业的实习生。刚去了一个公司做项目,,哼哼,你懂的,,,基本啥都不会,都要学,,嗯,那就学吧,没事,我还年轻。现在给和我一样的小白分享下我移植minigui的经验,希望对你们有所帮助。不说那么多,直接上菜。
首先从官网上下载以下几个包:libminigui-gpl-3.0.12.tar.gz,minigui-res-be-3.0.12.tar.gz,mg-samples-3.0.12.tar.gz,zlib-1.2.2.tar.gz,libpng-1.2.37.tar.gz,libmgplus-1_2_4.tar.gz,freetype-2.3.9-fm20100818.tar.gz,jpegsrc.v7.tar.gz。
下面这个路径你看着改,改成你自己的就行了。
安装libz
./configure --prefix=/home/cb/minigui1
修改Makefile文件,将所有的gcc修改为arm-hisiv400-linux-gcc,替换命令:
:1,$s/gcc/arm-hisiv400-linux-gcc/g
(不行就手动。)
make
make install
安装libpng
export CFLAGS=-I/home/cb/minigui1/include/
export LDFLAGS=-L/home/cb/minigui1/lib
./configure --prefix=/home/cb/minigui1 --host=arm-hisiv400-linux
make
make install

安装freetype
./configure --prefix=/home/cb/minigui1 --host=arm-hisiv400-linux
make
make install
安装jpeg
./configure --prefix=/home/cb/minigui1 --host=arm-hisiv400-linux
make
make install
安装libminigui-gpl
修改src/newgal/pcxvfb/Makefile.in,删掉oldincludedir = /usr/include一句和INCLUDES里面删掉最后一项-I/usr/include,否则编译报错。
./configure --prefix=/home/cb/minigui1 --host=arm-hisiv400-Linux
make
make install
安装minigui-res
./configure --prefix=/home/cb/minigui1 --host=arm-hisiv400-Linux
make
make install
安装libmgplus
export PKG_CONFIG_PATH=/home/cb/minigui1/lib/pkgconfig/
export CPPFLAGS=-I/home/cb/minigui1/include
./configure --prefix=/home/cb/minigui1 --host=arm-hisiv400-Linux
make
make install
最后编译例子库。
./configure --host=arm-hisiv400-Linux
export CFLAGS=/home/cb/minigui1/include/:/opt/hisi-linux/x86-arm/arm-hisv400-linux/include/:/opt/hisi-linux/x86-arm/arm-hisv400-linux/arm-hisv400-linux-gnueabi/include

编到这,前面的问题你也解决了,恭喜你完成一半了。然后
将/home/cb/minigui1/bin的文件放到板子/usr/bin里面
将/home/cb/minigui1/etc的文件放到板子/etc/里面   (很重要:配置MINIGUI.cfg)
将/home/cb/minigui1/lib的文件夹放到板子/usr/local/minigui/里面,设置/etc/profile(环境变量指向这个文件夹)。
将/home/cb/minigui1/share文件夹放到板子/usr文件夹下面。
(这些对有些小白还是不懂,我就详细点,你直接忽略吧)

然后就是对MINIGUI.cfg进行配置,,这个按照你的显示屏来,分辨率啥的,还有字体库,下面我传了有我的配置。有兴趣可以看看。
配置完成了就进行编译程序,放到板子里运行。
arm-hisiv400-linux-gcc -o hello hello.c \
-L/home/cb/minigui1/lib \
-lminigui_ths -ljpeg -lm -lpthread -ldl -lz  \
-I/home/cb/minigui1/include
这里你还需要那些库,你自己加就行了。
先在板子上运行3536SKD的./sample_hifp
在运行你程序就ok啦。下面我传了minigui配置文档和编译手册,还有我的配置,还有一些基础程序,还有移植到3520D的文档,供小白参考,有啥问题就在下面留言。大家一起解决。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
楼主热帖
 楼主| 发表于 2017-4-12 23:22:15 | 显示全部楼层
下次再放移植QT的,,,
发表于 2017-4-19 15:42:12 | 显示全部楼层
本帖最后由 Benz 于 2017-4-19 15:45 编辑

你好,楼主,按照你的提示,我编译sample时报错了,请问这个是什么原因啊?还望指点一下,谢谢

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
 楼主| 发表于 2017-4-21 09:24:23 | 显示全部楼层
Benz 发表于 2017-4-19 15:42
你好,楼主,按照你的提示,我编译sample时报错了,请问这个是什么原因啊?还望指点一下,谢谢

后面那个环境变量加了没,不加要报错
发表于 2017-12-26 16:41:31 | 显示全部楼层
准备试一试
发表于 2018-1-8 11:02:23 | 显示全部楼层
很好的东西,谢谢
发表于 2018-5-2 22:47:18 | 显示全部楼层
[me@localhost libpng-1.2.37]$ make
make  all-am
make[1]: 进入目录“/home/me/minigui/libpng-1.2.37”
/bin/sh ./libtool --tag=CC   --mode=link arm-hisiv500-linux-gcc  -I/opt/minigui/include -no-undefined -export-dynamic -version-number 0:37:0 -Wl,--version-script=libpng.vers  -L/opt/minigui/lib -o libpng12.la -rpath /opt/minigui/lib libpng12_la-png.lo libpng12_la-pngset.lo libpng12_la-pngget.lo libpng12_la-pngrutil.lo libpng12_la-pngtrans.lo libpng12_la-pngwutil.lo libpng12_la-pngread.lo libpng12_la-pngrio.lo libpng12_la-pngwio.lo libpng12_la-pngwrite.lo libpng12_la-pngrtran.lo libpng12_la-pngwtran.lo libpng12_la-pngmem.lo libpng12_la-pngerror.lo libpng12_la-pngpread.lo  -lz -lm
libtool: link: arm-hisiv500-linux-gcc -shared  .libs/libpng12_la-png.o .libs/libpng12_la-pngset.o .libs/libpng12_la-pngget.o .libs/libpng12_la-pngrutil.o .libs/libpng12_la-pngtrans.o .libs/libpng12_la-pngwutil.o .libs/libpng12_la-pngread.o .libs/libpng12_la-pngrio.o .libs/libpng12_la-pngwio.o .libs/libpng12_la-pngwrite.o .libs/libpng12_la-pngrtran.o .libs/libpng12_la-pngwtran.o .libs/libpng12_la-pngmem.o .libs/libpng12_la-pngerror.o .libs/libpng12_la-pngpread.o   -L/opt/minigui/lib -lz -lm  -Wl,--version-script=libpng.vers   -Wl,-soname -Wl,libpng12.so.0 -o .libs/libpng12.so.0.37.0
/opt/hisi-linux/x86-arm/arm-hisiv500-linux/bin/../lib/gcc/arm-hisiv500-linux-uclibcgnueabi/4.9.4/../../../../arm-hisiv500-linux-uclibcgnueabi/bin/ld:libpng.vers:2: syntax error in VERSION script
collect2: error: ld returned 1 exit status
make[1]: *** [libpng12.la] 错误 1
make[1]: 离开目录“/home/me/minigui/libpng-1.2.37”
make: *** [all] 错误 2


按顺序编译第二个的make的时候,编译出错,,这个该怎么处理?
发表于 2018-8-21 14:15:53 | 显示全部楼层
谢谢楼主脱光了给大家分享
发表于 2018-12-2 15:11:40 | 显示全部楼层
memetete 发表于 2018-5-2 22:47
[me@localhost libpng-1.2.37]$ make
make  all-am
make[1]: 进入目录“/home/me/minigui/libpng-1.2.37 ...

老兄 这个问题解决了吗,我也遇到同样问题
您需要登录后才可以回帖 登录 | 注册

本版积分规则

© 2008-2017 当前位置 易百纳技术社区论坛 返回 易百纳技术社区 ( 苏ICP备14036084 )   Powered by Discuz! X3.1
快速回复 返回顶部 返回列表