海思平台freetype、SDL、SDL_TTL的编译

说明

最近一个需求是往生成的录像文件中加入显示时间,这里的开发是基于海思平台(Hi3521D),所以实际上就是往编码通道贴OSD,这里先介绍freetype、SDL、SDL_TTL这三个库在海思平台上的编译。

一、源码的获取

1、freetype、SDL、SDL_TTL源码的链接:https://github.com/As772309423/freetype-SDL-SDL_TTL

下载完源码之后,在ubuntu中创建一个目录(命名随意,我这里命名为font),把下载好的3个安装包都在同一个目录中,有利于后续的编译和开发。


二、freetype部分

注意:以下所有的步骤都最好先先换到root用户后,再进行编译,否则最后很可能会make 或者 make install出错!!!

编译步骤

  1. 打开teminal终端,跳转到font目录,对freetype安装包进行解压,解压完后进入freetype目录;

  2. 执行:
    ./configure CC=/opt/hisi-linux/x86-arm/arm-hisiv500-linux/target/bin/arm-hisiv500-linux-gcc --host=arm-hisiv500-linux --enable-shared=no --enable-static=yes
    (这里的CC需要填写海思编译链的绝对路径, 这里全都编译成了静态库,如果需要编译成动态库,则改成–enable-shared=yes --enable-static=no);

  3. make;

  4. make成功后执行make install。


三、SDL部分

注意:以下所有的步骤都最好先先换到root用户后,再进行编译,否则最后很可能会make 或者 make install出错!!!

编译步骤

  1. 打开teminal终端,跳转到font目录,对SDL安装包进行解压,解压完后进入SDL目录;

  2. 执行:
    ./configure CC=/opt/hisi-linux/x86-arm/arm-hisiv500-linux/target/bin/arm-hisiv500-linux-gcc --host=arm-hisiv500-linux --enable-shared=no --enable-static=yes
    (这里的CC需要填写海思编译链的绝对路径, 这里全都编译成了静态库,如果需要编译成动态库,则改成–enable-shared=yes --enable-static=no);

  3. make;

  4. make成功后执行make install。


四、SDL_TTL部分

注意:以下所有的步骤都最好先先换到root用户后,再进行编译,否则最后很可能会make 或者 make install出错!!!

编译步骤

  1. 打开teminal终端,跳转到font目录,对SDL_TTL安装包进行解压,解压完后进入SDL_TTL目录;

  2. 执行:
    ./configure CC=/opt/hisi-linux/x86-arm/arm-hisiv500-linux/target/bin/arm-hisiv500-linux-gcc --host=arm-hisiv500-linux --enable-shared=no --enable-static=yes
    (这里的CC需要填写海思编译链的绝对路径, 这里全都编译成了静态库,如果需要编译成动态库,则改成–enable-shared=yes --enable-static=no);

  3. make;

  4. make成功后执行make install。


五、例程部分

我已经参考网上的一些博客写了一个test.c和Makefile,放到了https://github.com/As772309423/freetype-SDL-SDL_TTL,你们只要把Makefile中各个库的include目录以及生成的静态库(或动态库)路径改对,编译就没问题。

注意:

freetype、SDL、SDL_TTL这个三个编译出来的静态库(或动态库)可能会隐藏起来,可以用find ./font -name “.a” 找出库的所在目录,然后用chmod 777 库所在目录 -R,就能找到该库了,最后建议创建一个目录把库放一起,方便编译。

你可能感兴趣的:(海思开发)