移植libjpeg-turbo到arm遇到的问题

本文记录了在移植libjpeg-turbo 1.4.2到ARM平台过程中遇到的错误及解决方法。首先,由于Ubuntu版本旧和cmake版本低,手动下载并配置cmake 3.3.2。接着,在不使用NASM的情况下,编译时出现错误,通过在jconfig.h中定义SIZEOF_SIZE_T为4来解决。然后,出现了typedef重定义问题,通过在jconfig.h中添加防止重复包含的保护宏解决。再者,由于找不到io.h,通过在jconfig.h中undef USE_SETMODE宏解决。最后,编译WITH_TURBOJPEG时,需要手动添加-lm链接数学库。完成这些步骤后,成功编译并安装libjpeg-turbo。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

libjpeg-turbo版本为1.4.2


从github 克隆下来的最新版 https://github.com/libjpeg-turbo/libjpeg-turbo


Ubuntu版本比较老,所以apt-get下载的cmake版本较低,从cmake官网下载的3.3.2,下载地址:https://cmake.org/files/v3.3/cmake-3.3.2-Linux-i386.tar.gz


其中arm gcc的版本为gcc version 4.4.1 (Sourcery G++ Lite 2009q3-67)


配置cmake,由于不打算使用NASM,WITH-SIMD不可用,所以去掉


然后make,结果出现

/kf/libjpeg-turbo/jchuff.c:381: error: #error Cannot determine word size
make[2]: *** [CMakeFiles/jpeg-static.dir/jchuff.c.o] 错误 1
make[1]: *** [CMakeFiles/jpeg-static.dir/all] 错误 2
make: *** [all] 错误 2


解决方法是: 在jconfig.h中定义宏SIZEOF_SIZE_T为4


再次make


出现很对redefinition


/kf/libjpeg-turbo-build/jconfig.h:37: error: redefinition of typ

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值