使用NDK移植/编译开源库(4)libjpeg的编译

本文详细介绍了如何在Linux环境下使用NDK r7编译libjpeg库,包括解压源码、配置编译路径、执行make及make install步骤。测试阶段,创建了一个简单的测试项目,将编译后的头文件和库导入,并编写了测试代码。文章还提供了使用NDK自带脚本生成独立工具链的方法,以及推荐在Linux环境下进行交叉编译的原因。

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

说明:libjpeg下载http://www.ijg.org/,jpegsrc.v8c.tar.gz。(下面是用的是Linux环境NDKr7版本)

(1)使用NDK的GCC编译

1. 解压jpeg包

2. 建立两个文件夹,用于存储编译后的头文件和库文件等(下面的configure用到)。

3. 在终端设置NDK的GCC路径如下:

export SYSROOT=$NDK/platforms/android-14/arch-arm  
export CC="$NDK/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86/bin/arm-linux-androideabi-gcc --sysroot=$SYSROOT"
4. configure

./configure --prefix=/home/sgeng2/Desktop/ndk_lab/libjpeg/prefix/ --exec-prefix=/home/sgeng2/Desktop/ndk_lab/libjpeg/exec_prefix/ --host=arm
注意:要指定--host,否则configure会有错误。

5. make和make install

make
make install
完成后,在configure中指定的prefix和exec-prefix的文件夹中可以找到编译后得到的头文件和库文件。


总结:jpeg的编译过程很顺利,configure的时候没遇到什么错误,make的时候也不需要修改代码,比较容易的了。

(2)测试

为了测试如何使用编译后的jpeg,写了一个简单的测试代码。建立一个test_prj的文件夹,在其下新建一个jni文件夹,将上面生成的prefix下的include文件夹中的头文件和exec-prefix下的libs文件夹中的libjpeg.a复制到jni文件夹中,在jni中新建Android.mk和test.c文件,最终目录树如下:

NDK#tree
.
└── jni
    ├── Android.mk
    ├── jconfig.h
    ├── jerror
评论 26
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值