12335
- 收藏
- 点赞
- 分享
- 举报
[中秋福利]关于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 目录下。

下载

下载

下载
我来回答
回答41个
时间排序
认可量排序
认可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. 内容
- 缩进内容
- 图片
相关问答
-
2019-07-23 09:59:21
-
2016-03-05 10:53:40
-
2019-04-23 11:47:53
-
2016-06-22 18:03:34
-
2018-09-26 11:09:56
-
2016-07-19 21:15:51
-
2017-08-10 14:47:13
-
2016-09-19 21:03:20
-
2018-09-26 11:48:56
-
2019-04-23 20:58:26
-
2017-03-28 15:36:16
-
712016-05-30 20:13:54
-
2017-09-18 09:55:41
-
2019-11-12 09:31:51
-
2016-06-03 16:44:20
-
2016-06-28 12:11:24
-
2018-12-25 16:10:12
-
2018-01-22 13:44:52
-
2014-03-20 23:10:54
无更多相似问答 去提问

点击登录
-- 积分
-- E币
提问
—
收益
—
被采纳
—
我要提问
切换马甲
上一页
下一页
举报反馈
举报类型
- 内容涉黄/赌/毒
- 内容侵权/抄袭
- 政治相关
- 涉嫌广告
- 侮辱谩骂
- 其他
详细说明
提醒
你的问题还没有最佳答案,是否结题,结题后将扣除20%的悬赏金
取消
确认
提醒
你的问题还没有最佳答案,是否结题,结题后将根据回答情况扣除相应悬赏金(1回答=1E币)
取消
确认