15 交叉编译freetype

1、将freetype的包解压后进入目录,发现configure文件,执行万能命令:

./configure --host=arm-linux-gnueabihf --prefix=$PWD/tmp

这步没啥问题

2、执行make命令后出现attachments-2020-10-bF4B8wm55f9a2a140b666.png

它说libz.so的格式不能识别,目前找不到解决办法。。

请先 登录 后评论

最佳答案 2020-10-30 13:11

已解决,上述问题的原因是我的系统库目录选错了。我执行

echo 'main(){}'| arm-linux-gnueabihf-gcc -E -v -

命令之后,库目录如下:

LIBRARY_PATH=/usr/lib/gcc-cross/arm-linux-gnueabihf/5/:/usr/lib/gcc-cross/arm-linux-gnueabihf/5/../../../../arm-linux-gnueabihf/lib/../lib/:/lib/../lib/:/usr/lib/../lib/:/usr/lib/gcc-cross/arm-linux-gnueabihf/5/../../../../arm-linux-gnueabihf/lib/:/lib/:/usr/lib/

我一开始用的是/usr/lib/库目录,后来又换成/usr/lib/gcc-cross/arm-linux-gnueabihf/5/目录就好了。

另外,在安装过程中发现我pnglib12没安装(提示:can not find pnglib12),而韦老师给的包是16的版本,所以又从网上下载了12的版本安装。

请先 登录 后评论

其它 3 个回答

百问网_赵老师
擅长:嵌入式开发

#获取源码

git clone https://e.coding.net/codebug8/repo.git

mkdir -p 100ask_imx6ull-sdk && cd 100ask_imx6ull-sdk

../repo/repo init -u  https://gitee.com/weidongshan/manifests.git -b linux-sdk -m imx6ull/100ask_imx6ull_linux4.9.88_release.xml  --no-repo-verify

../repo/repo sync -j4




#设置工具链

export ARCH=arm

export CROSS_COMPILE=arm-buildroot-linux-gnueabihf-

export PATH=$PATH:/home/book/100ask_imx6ull-sdk/ToolChain/arm-buildroot-linux-gnueabihf_sdk-buildroot/bin


#修改程序引用的头文件


#include <freetype2/ft2build.h>


编译时增加如下参数

-I/home/book/100ask_imx6ull-sdk/ToolChain/arm-buildroot-linux-gnueabihf_sdk-buildroot/arm-buildroot-linux-gnueabihf/sysroot/usr/include/freetype2


示例

arm-buildroot-linux-gnueabihf-gcc  -o  show_line  show_line.c   -lfreetype  -I/home/book/100ask_imx6ull-sdk/ToolChain/arm-buildroot-linux-gnueabihf_sdk-buildroot/arm-buildroot-linux-gnueabihf/sysroot/usr/include/freetype2



arm-buildroot-linux-gnueabihf-gcc -o freetype_show_font freetype_show_font.c  -I/home/book/100ask_imx6ull-sdk/ToolChain/arm-buildroot-linux-gnueabihf_sdk-buildroot/arm-buildroot-linux-gnueabihf/sysroot/usr/include/freetype2 -lfreetype

请先 登录 后评论
百问网-张老师
擅长:嵌入式开发

freetype 依赖于 libpng,所以需要先编译、安装 libpng。仔细看文档,往后面再看看。

请先 登录 后评论
韦东山 - 百问网技术总监
擅长:嵌入式开发

这是LIBZ没有交叉编译,你是给X86编译了。

从GIT里下载到文件,看这个:临时文件_应用基础补录_Framebuffer_输入系统_进程_线程_网络编程等等.docx

在里面搜"zlib"

请先 登录 后评论