当前位置: 代码迷 >> 综合 >> arm编译添加头文件、库文件操作,例如tslib、freetype、libpng等
  详细解决方案

arm编译添加头文件、库文件操作,例如tslib、freetype、libpng等

热度:25   发布时间:2023-12-13 12:01:38.0

查看编译的库中是否存在configure文件,存在可以按以下步骤配置

以tslib为例

编译过程

在tslib文件夹下  ?  

工具链配置

 export ARCH=armexport CROSS_COMPILE=arm-linux-gnueabihf-export PATH=$PATH:/usr/lib/gcc-cross/arm-linux-gnueabihf/7/../../../../arm-linux-gnueabihf/bin

上述路径PATH可以有此命令查看 

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

选择上述的编译器路径即可,在后面操作其中的include、lib、bin三个文件。l

Note:arm-linux-gnueabihf-gcc是你当前使用的编译器,选择你自己的编译器

 

编译

  ./configure --host=arm-linux-gnueabihf --prefix=$PWD/tmpmake && make install cd tmp

编译后进入tmp文件夹下,就会有以下文件

  • bin:存放测试的可执行程序
  • etc:存放配置文件
  • include:存放所需头文件
  • lib:存放库文件so

编译完成后的PC端移植

 tslib-1.21/tmp$ sudo cp include/*  /usr/lib/gcc-cross/arm-linux-gnueabihf/7/../../../../arm-linux-gnueabihf/includetslib-1.21/tmp$ sudo cp lib/*so* /usr/lib/gcc-cross/arm-linux-gnueabihf/7/../../../../arm-linux-gnueabihf/lib/

编译完成后的开发板移植

 /mnt/tslib-1.21$ sudo cp bin/* /bin//mnt/tslib-1.21$ sudo cp lib/*so* -d /lib//mnt/tslib-1.21/lib$ sudo cp ts /lib/ -rf/mnt/tslib-1.21$ sudo cp etc/ts.conf /etc/

 ?

其余的如freetype、libpng,编译可能存在的问题

编译过程都如上述步骤

  1. 出现file format no recognition,文件编码不能识别问题,使用file查看文件属性,确认是编译环境下安装的库
  2. libpng可能会出现zlib库未安装问题

zlib 安装

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

第19,30,31行的gcc改为arm-linux-gcc后保存退出

make && make install