海思芯片在做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
- 編譯
首先編譯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!