海思芯片在做OSD文字水印的时候,比如时间戳,一般都会使用freetype2+SDL2+SDL2_ttf等开源库来生成位图进行填充,记录一下本次交叉编译过程。
- 下载
个人喜欢找最新的库,所以三个开源库都是用的目前最新的版本
- 编译
首先编译freetype,注意需要指定--enable-freetype-config,在编译SDL2_ttf的时候需要用到
配置
./configure --prefix=$PWD/.. CC=arm-himix100-linux-gcc CXX=arm-himix100-linux-g++ --host=arm-linux --without-zlib --enable-freetype-config
编译并安装
make -j20 && make install
然后编译SDL2
配置
./configure --prefix=$PWD/.. CC=arm-himix100-linux-gcc CXX=arm-himix100-linux-g++ --host=arm-linux --disable-alsa --disable-pulseaudio --enable-esd=no
编译并安装
make -j20 && make install
最后编译SDL2_ttf,注意需要指定FT2_CONFIG(freetype2的安装配置文件)和PKG_CONFIG_PATH(包配置搜索路径)
配置
./configure --prefix=$PWD/.. CC=arm-himix100-linux-gcc CXX=arm-himix100-linux-g++ --host=arm-linux --with-sdl-prefix=$PWD/.. --with-sdl-exec-prefix=$PWD/.. FT2_CONFIG=$PWD/../bin/freetype-config PKG_CONFIG_PATH=$PWD/../lib/pkgconfig
编译并安装
make -j20 && make install
如果编译顺利的话,会在上一层路径生成include和lib等文件夹,可以在项目中直接引用。
目前亲测,在arm-himix100-linux和arm-himix200-linux 中都是可以顺利编译的
Good Luck!