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 目录下。
关于使用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个
时间排序
认可量排序
认可0
认可0
认可0
认可0
认可0
认可0
认可0
认可0
认可0
认可0
认可0
认可0
认可0
认可0
认可0
认可0
认可0
认可0
认可0
认可0
加载中···
或将文件直接拖到这里
悬赏:
E币
网盘
* 网盘链接:
* 提取码:
悬赏:
E币
Markdown 语法
- 加粗**内容**
- 斜体*内容*
- 删除线~~内容~~
- 引用> 引用内容
- 代码`代码`
- 代码块```编程语言↵代码```
- 链接[链接标题](url)
- 无序列表- 内容
- 有序列表1. 内容
- 缩进内容
- 图片![alt](url)
相关问答
-
2019-07-23 09:59:21
-
2016-03-05 10:53:40
-
2019-04-23 11:47:53
-
2021-04-29 17:49:55
-
2021-05-08 17:27:49
-
2021-06-03 07:50:06
-
2016-06-22 18:03:34
-
2016-07-19 21:15:51
-
2017-08-10 14:47:13
-
2018-09-26 11:09:56
-
2019-04-23 20:58:26
-
2016-09-19 21:03:20
-
2018-09-26 11:48:56
-
2023-06-26 17:15:29
-
2017-03-28 15:36:16
-
2020-09-17 09:25:08
-
712016-05-30 20:13:54
-
2019-11-12 09:31:51
-
2017-09-18 09:55:41
无更多相似问答 去提问
点击登录
-- 积分
-- E币
提问
—
收益
—
被采纳
—
我要提问
切换马甲
上一页
下一页
悬赏问答
-
5Hi3516CV610 如何使用SD卡升级固件
-
5cat /dev/logmpp 报错 <3>[ vi] [func]:vi_send_frame_node [line]:99 [info]:vi pic queue is full!
-
50如何获取vpss chn的图像修改后发送至vo
-
5FPGA通过Bt1120传YUV422数据过来,vi接收不到数据——3516dv500
-
50SS928 运行PQtools 拼接 推到设备里有一半画面会异常
-
53536AV100的sample_vdec输出到CVBS显示
-
10海思板子mpp怎么在vi阶段改变视频数据尺寸
-
10HI3559AV100 多摄像头同步模式
-
9海思ss928单路摄像头vio中加入opencv处理并显示
-
10EB-RV1126-BC-191板子运行自己编码的程序
举报反馈
举报类型
- 内容涉黄/赌/毒
- 内容侵权/抄袭
- 政治相关
- 涉嫌广告
- 侮辱谩骂
- 其他
详细说明
提醒
你的问题还没有最佳答案,是否结题,结题后将扣除20%的悬赏金
取消
确认
提醒
你的问题还没有最佳答案,是否结题,结题后将根据回答情况扣除相应悬赏金(1回答=1E币)
取消
确认