Loading...
首页资料正文

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

上传者:localhost 上传时间:2016-09-14 16:26:39 文件大小:3.74 MB 下载次数:91
1积分
本帖最后由 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 目录下。

下载

全部评论

内容存在敏感词
易百纳技术社区
确定要删除此文章、专栏、评论吗?
确定
取消
易百纳技术社区