[中秋福利]关于Hi35xx平台 移植freetype、SDL以及SDL_ttf的分享总结
1 E币
成为会员,免费下载资料
文件大小:1.91 MB
上传者:localhost
时间:2016-09-14 16:26:32
下载量:106
本帖最后由 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 目录下。
展开》
折叠》