海思芯片在做OSD文字水印的时候,比如时间戳,一般都会使用freetype2+SDL2+SDL2_ttf等开源库来生成位图进行填充,记录一下本次交叉编译过程。
个人喜欢找最新的库,所以三个开源库都是用的目前最新的版本
freetype-2.10.4:https://mirror.yongbok.net/nongnu/freetype/freetype-2.10.4.tar.gz
SDL2-2.0.14:https://www.libsdl.org/release/SDL2-2.0.14.tar.gz
SDL2_ttf-2.0.15:https://www.libsdl.org/projects/SDL_ttf/release/SDL2_ttf-2.0.15.tar.gz
首先编译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中都是可以顺利编译的