嵌入式移植jpeglib--Linux交叉编译ARM平台

一 、交叉编译jpeg库

1.下载源码tar.gz
2. 源码目录下执行 jpeglib配置文件

./configure CC=arm-none-linux-gnueabihf-gcc LD=arm-none-linux-gnueabihf-ld --prefix=/work/jpeg_arm_lib --exec-prefix=/work/jpeg_arm_lib --enable-shared --enable-static --host=arm-none-linux-gnueabihf
符号说明
CC编译所使用的编译器
LD编译所使用的链接器
Prefixjpeglib库的安装目录
Exec-prefix可执行文件的目录
Enable-shared编译为动态库
Enable-static编译为静态库

3.make 编译、 sudo make install安装
在这里插入图片描述

二、Linux下jpeg库移植-编译APP

1.确定交叉编译器安装成功并配置到环境目录

arm-none-linux-gnueabihf-gcc -v

在这里插入图片描述
2.Makefile文件添加编译连接路径

LDFLAGS := -L/work/jpeg_arm_lib/lib -ljpeg

3.交叉编译的时候头文件默认搜索路径与正常编译有所不同,要先确定交叉编译器的目录

echc'main(){}'| /usr/local/arm/gcc-arm-9.2-2019.12-x86_64-arm-none-linux-gnueabihf/bin/arm-none-linux-gnueabihf-gcc -E -v-

在这里插入图片描述

4.将/work/jpeg_arm_lib/include头文件拷贝到交叉编译器的目录
在这里插入图片描述
5.Make 编译App文件

三、开发板下jpeg库移植-运行APP

.将编译后的库文件移动到开发板挂载文件目录
将/work/jpeg_arm_lib下库文件,tar打包复制到,开发板挂载文件目录/usr/lib下
(使用Buildroot构建的根文件系统下可能有jpeg库,删除后使用新编译得到的)

sudo tar -czf lib.tar.gz ./*
sudo tar -xzf lib.tar.gz -c /home/jcl/linux/nfs/rootfs/usr/lib

测试

将/work/jpeg_arm_lib下, bin 目录下的所有测试工具拷贝到开发板
开发板运行djpeg -help 有反应代表移植成功
在这里插入图片描述

参考教程:
https://blog.csdn.net/chengfei609/article/details/46318275
https://cloud.tencent.com/developer/article/1997282
https://blog.csdn.net/qq_53144843/article/details/124524969

  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
arm-linux交叉编译Apache和PHP的步骤如下: 1. 首先安装交叉编译工具链,例如arm-linux-gcc等工具链。 2. 下载Apache和PHP源码,解压缩到指定目录。 3. 进入Apache源码目录,执行configure命令,指定交叉编译工具链的路径和其他相关参数,例如: ``` ./configure --host=arm-linux --prefix=/usr/local/apache2 --enable-so --disable-ssl --disable-proxy --disable-authn-file --disable-autoindex --disable-dir --disable-env --disable-reqtimeout --disable-userdir --disable-setenvif --disable-status --disable-cgi ``` 其中,--host参数指定目标平台的架构,--prefix参数指定安装目录,--enable-so参数指定支持动态链接等。 4. 执行make命令编译Apache,然后执行make install命令安装Apache到指定目录。 5. 进入PHP源码目录,执行configure命令,指定交叉编译工具链的路径和其他相关参数,例如: ``` ./configure --host=arm-linux --prefix=/usr/local/php --with-apxs2=/usr/local/apache2/bin/apxs --disable-debug --enable-mbstring --enable-zip --enable-bcmath --enable-sockets --enable-pcntl --enable-shmop --enable-sysvmsg --enable-sysvsem --enable-sysvshm --with-curl --with-gd --with-jpeg-dir=/usr/lib --with-png-dir=/usr/lib --with-zlib-dir=/usr/lib --with-mysql=mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --without-pear ``` 其中,--with-apxs2参数指定Apache的apxs路径,--with-curl参数指定支持curl,--with-gd参数指定支持gd等。 6. 执行make命令编译PHP,然后执行make install命令安装PHP到指定目录。 7. 在Apache的配置文件httpd.conf中添加PHP的模块加载语句,例如: ``` LoadModule php7_module modules/libphp7.so AddType application/x-httpd-php .php ``` 其中,libphp7.so是PHP编译生成的动态链接。 8. 重启Apache服务器,测试PHP是否正常工作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值