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

 1 E币 
成为会员,免费下载资料
文件大小:3.74 MB 上传者:localhost 时间:2016-09-14 16:26:39 下载量:103
本帖最后由 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 目录下。

展开
折叠
2149
评论
共 0 个
内容存在敏感词
    易百纳技术社区暂无数据
相关资料
关于作者
易百纳技术社区
localhost
贡献资料 4
易百纳技术社区 我上传的资料
登录查看
我赚取的积分
登录查看
我赚取的收益
登录查看
上传资料 赚取积分兑换E币
易百纳技术社区
删除原因
广告/SPAM
恶意灌水
违规内容
文不对题
重复发帖
置顶时间设置
结束时间
举报反馈

举报类型

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

详细说明

审核成功

发布时间设置
发布时间:
是否关联周任务-资料模块

审核失败

失败原因
备注
易百纳技术社区