localhost

localhost

0个粉丝

16

问答

0

专栏

4

资料

localhost  发布于  2016-09-14 16:58:48
采纳率 0%
16个问答
16496

[中秋福利]关于Hi35xx平台 移植freetype、SDL以及SDL_ttf的分享总结

 
本帖最后由 localhost 于 2016-9-14 17:04 编辑

关于使用Hi3516等平台
        在实现osd文字处理的时候
        除了官方的HiFB文档方式处理
        另一种处理方式就是用第三方函数库:freetype+SDL+SDL_ttf
        然后配合region(区域管理)方式 实现文字叠加

这里主要讨论freetype、SDL、SDl_ttf这些库的安装及使用,关于region叠加处理请参考:

首先,是函数库源码包下载,各位可以去官网下载
(要注意源码包的版本兼容,我在编译函数库时就出现了freetype与SDL库的某些版本在一起无法编译的问题)
有需要的朋友 可以直接从我的附件中下载 经过试验可以确保 源码可用可编译移植;

接下来,下载好源码按照以下步骤 安装:
        (注:目前建议全部安装默认路径,切换路径要注意逻辑关系,待后续更新)
        1、freetype安装:
                tar -xvf freetype***.tar.bz2 解压
             进入freetype文件目录
                执行./configure CC=arm-hisiv300-linux-gcc --host=arm-hisiv300-linux
                        make
                        make install

        注:若安装成功则会在 /usr/local/目录下生成 bin、lib、include、share四个文件夹并且内部有相关文件;
       
        2、SDL安装:
                tar -xvf SDL-***.tar.gz 解压
             进入SDL文件目录
                执行./configure CC=arm-isiv300-linux-gcc --host=arm-hisiv300-linux
                        make
                        make install

        注:若安装成功后将会在usr/local/目录下的bin、lib、include、share目录下生成相应文件
       
        3、SDL_ttf安装:
                tar -xvf SDL_ttf-***.tar.gz 解压
              进入SDL_ttf文件目录
                执行./configure CC=arm-hisiv300-linux-gcc --host=arm-hisiv300-linux
                        make
                        make install

        注:若安装成功后将会在 usr/local/ 目录下的bin、lib、include、share目录下生成相应文件

NOTE:
        若以上均安装成功,则在 usr/local 目录下存在如下文件
        执行 tree  -L  2
        .
        ├── bin
        │    ├── freetype-config
        │    └── sdl-config
        ├── include
        │    ├── freetype2
        │    ├── ft2build.h
        │    └── SDL
        ├── lib
        │    ├── libfreetype.a       
        │    ├── libfreetype.la
        │    ├── libfreetype.so -> libfreetype.so.6.9.0
        │    ├── libfreetype.so.6 -> libfreetype.so.6.9.0
        │    ├── libfreetype.so.6.9.0
        │    ├── libSDL-1.2.so.0 -> libSDL-1.2.so.0.11.4
        │    ├── libSDL-1.2.so.0.11.4       
        │    ├── libSDL.a
        │    ├── libSDL.la
        │    ├── libSDLmain.a
        │    ├── libSDLmain.la
        │    ├── libSDL.so -> libSDL-1.2.so.0.11.4
        │    ├── libSDL_ttf-2.0.so.0 -> libSDL_ttf-2.0.so.0.10.1
        │    ├── libSDL_ttf-2.0.so.0.10.1
        │    ├── libSDL_ttf.a
        │    ├── libSDL_ttf.la
        │    ├── libSDL_ttf.so -> libSDL_ttf-2.0.so.0.10.1
        │    └── pkgconfig
        └── share
               ├── aclocal
               └── man

最后,将  include  和   lib(  libSDL.so,  libSDL_ttf.so,  libfreetype.so) 拷贝到相应的应用工程的目录中 并修改Makefile规则 进行编译调试
NOTE: 在板卡执行时,要把 libfreetype.so.6  libSDL-1.2.so.0 libSDL_ttf-2.0.so.0 拷贝到板卡 /lib 目录下。

易百纳技术社区文件: freetype-2.4.10.tar.gz
下载
易百纳技术社区文件: SDL_ttf-2.0.11.tar.gz
下载
易百纳技术社区文件: SDL-1.2.15.tar.gz
下载
我来回答
回答49个
时间排序
认可量排序

Cybers

0个粉丝

0

问答

0

专栏

0

资料

Cybers 2016-09-16 01:25:10
认可0
沙发!
谢谢楼主!学习中。。。。。。

cowboy

0个粉丝

9

问答

0

专栏

5

资料

cowboy 2016-09-16 11:26:36
认可0
赞到家了。给力 给力!

localhost

0个粉丝

16

问答

0

专栏

4

资料

localhost 2016-09-17 16:03:10
认可0
{:2_36:}给力 你们也不说给点百纳币 奖励一下
这里补充一下:
       现在是按照默认配置方式安装移植freetype sdl以及拓展库 关于自定义路径以及其它参数特性剪裁移植带我研究一下 再来更新

localhost

0个粉丝

16

问答

0

专栏

4

资料

localhost 2016-09-20 10:25:06
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=38002&ptid=12659]tango_zhu 发表于 2016-9-19 19:58[/url]
好东西,话说怎么用[/quote]

{:3_64:}哈哈哈 妹子真萌 这是用来将字符生成位图图片的 第三方库 用到了就知道了

rafael_wl

1个粉丝

12

问答

0

专栏

7

资料

rafael_wl 2016-09-20 10:36:30
认可0
这两条腿呢?:lol

localhost

0个粉丝

16

问答

0

专栏

4

资料

localhost 2016-09-20 16:30:51
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=38043&ptid=12659]rafael_wl 发表于 2016-9-20 10:36[/url]
这两条腿呢?[/quote]

{:3_57:}顽皮 说点有关库文件的

wonrowl

0个粉丝

10

问答

0

专栏

2

资料

wonrowl 2016-09-22 10:18:31
认可0
SDL库转出来的字幕背景透明怎么做啊,另外就是颜色转换,字幕黑白颜色的转换:)

jp1017

0个粉丝

78

问答

0

专栏

9

资料

jp1017 2016-10-09 13:35:09
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=38043&ptid=12659]rafael_wl 发表于 2016-9-20 10:36[/url]
这两条腿呢?[/quote]

干嘛,,,,,,

一只大犀牛

0个粉丝

3

问答

0

专栏

1

资料

一只大犀牛 2016-10-12 10:34:13
认可0
楼主,你./configure最后一个文件SDL_ttf-2.0.11的时候。有报configure: error: *** SDL version 1.2.4 not found!错误吗?

一只大犀牛

0个粉丝

3

问答

0

专栏

1

资料

一只大犀牛 2016-10-12 11:26:04
认可0
已解决,参见[url]http://www.ebaina.com/bbs/forum.php?mod=viewthread&tid=11465&page=2[/url]

一只大犀牛

0个粉丝

3

问答

0

专栏

1

资料

一只大犀牛 2016-10-12 11:44:15
认可0
使用的是CC=arm-hisiv300-linux-gcc --host=arm-hisiv300-linux编译生成的bin、lib、include、share目录的相应文件,见附件。有需要的直接拿走。

小飞侠_fq

0个粉丝

8

问答

0

专栏

0

资料

小飞侠_fq 2016-10-13 16:11:36
认可0
libtool: compile:  arm-hisiv300-linux-gcc -g -O2 -I./include -D_GNU_SOURCE=1 -fvisibility=hidden -I/usr/include -DXTHREADS -D_REENTRANT -DHAVE_LINUX_VERSION_H -Wall -c ./src/audio/dma/SDL_dmaaudio.c  -fPIC -DPIC -o build/.libs/SDL_dmaaudio.o
In file included from /usr/include/sys/select.h:31:0,
                 from /usr/include/sys/types.h:220,
                 from /usr/include/bits/fcntl.h:24,
                 from /usr/include/fcntl.h:34,
                 from ./src/audio/dma/SDL_dmaaudio.c:30:
./src/audio/dma/SDL_dmaaudio.c: 在函数‘DMA_WaitAudio’中:
/usr/include/bits/select.h:37:5: 错误: ‘asm’中不可能的约束
     __asm__ __volatile__ ("cld; rep; " __FD_ZERO_STOS         \
     ^
/usr/include/sys/select.h:96:26: 附注: in expansion of macro ‘__FD_ZERO’
#define FD_ZERO(fdsetp)  __FD_ZERO (fdsetp)
                          ^
./src/audio/dma/SDL_dmaaudio.c:166:3: 附注: in expansion of macro ‘FD_ZERO’
   FD_ZERO(&fdset);
   ^
make: *** [build/SDL_dmaaudio.lo] 错误 1
这种现象有没有出现过,有解决方法吗?

accountcmn2015

0个粉丝

0

问答

0

专栏

0

资料

accountcmn2015 2016-12-03 22:55:19
认可0

看看资料,学习一下

cy_ygs

0个粉丝

0

问答

0

专栏

0

资料

cy_ygs 2016-12-05 13:07:31
认可0
好资料,学习

fishliu_2000

0个粉丝

0

问答

0

专栏

0

资料

fishliu_2000 2017-06-08 18:42:11
认可0
为什么我刚花了一个百纳币购买附件,结果怎么下载不下来呢?

fishliu_2000

0个粉丝

0

问答

0

专栏

0

资料

fishliu_2000 2017-06-08 19:45:14
认可0
为什么下载下来的SDL还是编译失败呢?到底是哪里的编译器出问题了呀?

qq328848298

0个粉丝

1

问答

0

专栏

0

资料

qq328848298 2017-07-03 20:59:58
认可0
"最后,将  include  和   lib(  libSDL.so,  libSDL_ttf.so,  libfreetype.so) 拷贝到相应的应用工程的目录中 并修改Makefile规则"
请问这里的 Makefile规则是如何修改的,我make 程序时候报如下错误:
/opt/hisi-linux/x86-arm/arm-hisiv300-linux/bin/../lib/gcc/arm-hisiv300-linux-uclibcgnueabi/4.8.3/../../../../arm-hisiv300-linux-uclibcgnueabi/bin/ld: warning: libz.so.1, needed by ./lib/libfreetype.so, not found (try using -rpath or -rpath-link)
/opt/hisi-linux/x86-arm/arm-hisiv300-linux/bin/../lib/gcc/arm-hisiv300-linux-uclibcgnueabi/4.8.3/../../../../arm-hisiv300-linux-uclibcgnueabi/bin/ld: warning: libiconv.so.2, needed by ./lib/libSDL.so, not found (try using -rpath or -rpath-link)
./lib/libfreetype.so:对‘inflate’未定义的引用
./lib/libfreetype.so:对‘inflateReset’未定义的引用
./lib/libfreetype.so:对‘inflateInit2_’未定义的引用
./lib/libfreetype.so:对‘inflateEnd’未定义的引用

myn0921

0个粉丝

1

问答

0

专栏

0

资料

myn0921 2017-07-04 13:04:21
认可0
看看资料,学习一下

hero

0个粉丝

1

问答

0

专栏

0

资料

hero 2017-08-03 18:36:55
认可0


看看资料,学习一下

feiyashan

0个粉丝

11

问答

0

专栏

0

资料

feiyashan 2017-08-17 11:23:13
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=39372&ptid=12659]小飞侠_fq 发表于 2016-10-13 16:11[/url]
libtool: compile:  arm-hisiv300-linux-gcc -g -O2 -I./include -D_GNU_SOURCE=1 -fvisibility=hidden -I/ ...[/quote]

我也出现这个问题,解决了吗
加载中···
或将文件直接拖到这里
悬赏:
E币
网盘
* 网盘链接:
* 提取码:
悬赏:
E币

Markdown 语法

  • 加粗**内容**
  • 斜体*内容*
  • 删除线~~内容~~
  • 引用> 引用内容
  • 代码`代码`
  • 代码块```编程语言↵代码```
  • 链接[链接标题](url)
  • 无序列表- 内容
  • 有序列表1. 内容
  • 缩进内容
  • 图片![alt](url)
+ 添加网盘链接/附件

Markdown 语法

  • 加粗**内容**
  • 斜体*内容*
  • 删除线~~内容~~
  • 引用> 引用内容
  • 代码`代码`
  • 代码块```编程语言↵代码```
  • 链接[链接标题](url)
  • 无序列表- 内容
  • 有序列表1. 内容
  • 缩进内容
  • 图片![alt](url)
举报反馈

举报类型

  • 内容涉黄/赌/毒
  • 内容侵权/抄袭
  • 政治相关
  • 涉嫌广告
  • 侮辱谩骂
  • 其他

详细说明

易百纳技术社区