交叉编译的万能命令
使用此万能命令的前提是开源软件的源码里:有configure文件,confiuer支持–host,–prefiex参数.在编译安装完成后,对应的库以及头文件会安装在当前目录的tmp目录下
./configure --host=arm-hisiv400-linux --prefix=$PWD/tmp
make
make install
freetype交叉编译
freetype版本:freetype-2.10.2.tar.xz
直接使用上述的交叉编译万能命令
编译过程中报错:
ftgzip.c:46:18: fatal error: zlib.h: 没有那个文件或目录
缺少zlib库,交叉编译zlib库:
zlib库版本:zlib-1.2.11.tar.gz
./configure --prefix=$PWD/tmp -eprefix=$PWD/tmp --libdir=$PWD/tmp/lib
##修改Makefile中的gcc全部替换为:arm-hisiv400-linux-gcc
make
make install
#安装zlib库
cp -drf ./tmp/lib/* /opt/hisi-linux/x86-arm/arm-hisiv400-linux/target/usr/lib
#安装头文件
cp ./tmp/include/* /opt/hisi-linux/x86-arm/arm-hisiv400-linux/target/usr/include
arm-hisiv400-linux-gnueabi/bin/ld: cannot find -lpng16
缺少libpng库,使用万能命令交叉编译libpng库:
libpng库版本:libpng-1.6.37.tar.xz
./configure --host=arm-hisiv400-linux --prefix=$PWD/tmp
make
make install
#安装lib库
cp -drf ./tmp/lib/* /opt/hisi-linux/x86-arm/arm-hisiv400-linux/target/usr/lib
#安装头文件
cp ./tmp/include/* /opt/hisi-linux/x86-arm/arm-hisiv400-linux/target/usr/include
arm-hisiv400-linux-gnueabi/bin/ld: cannot find -lharfbuzz
harfbuzz的功能是用于改进OpenType字体的提示,这里手动关闭不再使用此库.即重新配置freetype
make distclean
./configure --host=arm-hisiv400-linux --prefix=$PWD/tmp --with-harfbuzz=no
建议: 如有需要建议详细阅读下freetype的configure --help相关帮助手册.以确定在编译freetype过程中相关子功能模块是否需要开启.
freetype下载
libpng官网
zlib官网