freetype环境安装记录

(一)摘要

最近在学习韦东山老师的驱动入门课程,在freetype环境安装时碰到到了一下这个报错,于是想记录下自己的安装过程方便其他碰到问题的同学解决!

(二)碰到的报错

我是用的是IMX6ULL PRO开发板在开始跟着文档上做的步骤感觉没有问题,但是在进行freetype-2.10.2文件下的make命令时出现了以下报错

/home/book/nfs_rootfs/10_freetype/libpng-1.6.37/tmp/lib/libpng16.so:
file not recognized: file format not recognized collect2: error: ld
returned 1 exit status config.mk:55: recipe for target
‘/home/book/nfs_rootfs/10_freetype/freetype-2.10.2/objs/libfreetype.la’
failed make: ***
[/home/book/nfs_rootfs/10_freetype/freetype-2.10.2/objs/libfreetype.la]
Error 1

(三)原因分析

在查便文档和群友的帮助下,找到了原因原来是zlib依赖没有安装,因为在视频中说arm-buildroot-linux-gnueabihf-gcc是自带zilib的,于是我也就 没去安装它而是直接去安装了libpng-1.6.37和freetype-2.10.2,看来还是要安装的。

(四)如何安装zilb

1.设置交叉编译工具链

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

2. 解压zlib-1.2.11.tar.gz

tar -xzf zlib-1.2.11.tar.gz

3.进入zlib-1.2.11文件夹

cd zlib-1.2.11

4.配置编译参数生成Makefile

./configure --prefix==$PWD/tmp --shared --static

–prefix:指定安装目录
–shared:编译生成.so动态库
–static:编译生成.a静态库

5.修改Makefile

zlib的configure不支持设置–host项,因此需要手动更改Makefile,vim命令打开Makefile文件,将其中的CC、AR、RANLIB等都修改为arm-linux交叉编译器的相关参数

freetype环境安装记录_第1张图片

/home/book/100ask_imx6ull-sdk/ToolChain/arm-buildroot-linux-gnueabihf_sdk-buildroot/bin/arm-buildroot-linux-gnueabihf-gcc
/home/book/100ask_imx6ull-sdk/ToolChain/arm-buildroot-linux-gnueabihf_sdk-buildroot/bin/arm-buildroot-linux-gnueabihf-ar
/home/book/100ask_imx6ull-sdk/ToolChain/arm-buildroot-linux-gnueabihf_sdk-buildroot/bin/arm-buildroot-linux-gnueabihf-ranlib

上面列出的是我Ubuntu的路径,大家如果都是按韦老师的课程的话应该都一样

6.编译

make

7.安装

make install

8.复制头文件和库文件到系统(工具链)默认文件夹

cp include/* -rf /home/book/100ask_imx6ull-sdk/ToolChain/arm-buildroot-linux-gnueabihf_sdk-buildroot/bin/../lib/gcc/arm-buildroot-linux-gnueabihf/7.5.0/include

cp lib/* -rfd /home/book/100ask_imx6ull-sdk/ToolChain/arm-buildroot-linux-gnueabihf_sdk-buildroot/bin/../lib/gcc/arm-buildroot-linux-gnueabihf/7.5.0/../../../../arm-buildroot-linux-gnueabihf/lib

本文参考自

  • https://www.cnblogs.com/from-zero/p/12582033.html
  • https://blog.csdn.net/wuu19/article/details/100075556

你可能感兴趣的:(嵌入式硬件)