查看编译的库中是否存在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,编译可能存在的问题
编译过程都如上述步骤
- 出现file format no recognition,文件编码不能识别问题,使用file查看文件属性,确认是编译环境下安装的库
- libpng可能会出现zlib库未安装问题
zlib 安装
./configure --host=arm-linux-gnueabihf --prefix=$PWD/tmp
vi Makefile
将第19,30,31行的gcc改为arm-linux-gcc后保存退出
make && make install