一 相关的工具
1. libjpeg 可以在如下这里url中下载:
http://www.ijg.org/
我使用的是:jpegsrc.v9a.tar.gz
2. windows7 + android-sdk + android-ndk-r9d
这个的安装文章太多了。这里就不再冗述了。
3 ubuntu + android-sdk + android-ndk-r10
同上理,这里不冗述。
4 Mingw 其官网如下:
http://www.mingw.org/
我因为其它的开发需要,已经完整安装了Mingw。但我个人觉得,对于编译libjpeg来说,除了基本的工具外,再把包含make及autoconfig的包安装上即可(具体我没试,如果加上这两个,还不行。可试试完整安装^0^)。
二 Windows7上用Mingw编译
用Mingw的命行进入代码解压后的工程根目录,然后在工程目录下加入如下脚本并运行(文件名“config.sh”,注意参照注释修改变量中的路径):
#/bin/bash
#out_bin 是库文件的输出目录
#out_txt 头文件及手册的输出目录
mkdir out_bin out_txt
#下面的变量,要设置你机器上具体的路径
#NDK所在目录
export NDK_ROOT="/e/android_soft/ndk/android-ndk-r9d"
#目标版本代码文件所在路径,这里选择的目标版本为android-19
export SYSROOT="$NDK_ROOT/platforms/android-19/arch-arm"
#gcc路径设置的参数设置
export CC="$NDK_ROOT/toolchains/arm-linux-androideabi-4.8/prebuilt/windows-x86_64/bin/arm-linux-androideabi-gcc --sysroot=$SYSROOT"
#工程代码所在目录
export PRO_ROOT="/e/work/project/libjpeg/src/jpeg-9a"
./configure --prefix="$PRO_ROOT/out_txt/" --exec-prefix="$PRO_ROOT/out_bin/" --host=arm
make
make install
我原来是用cygwin进行编译的,结果在configure时出现了“C compiler cannot create executables”的问题。后来换了使用Mingw编译就没有这个问题了。用上面的脚本编译的话可以在工程目录下 out_bin 及 out_txt找到编译后的输出文件。
三 Ubuntu上的编译
方法基本与windows上的相同,也是要用上面的脚本,只是要改一改相关的路径变量。另外还需要用chmod 777 config.sh修改一下脚本的权限,然后运行脚本即可。其实我也是站在前人的基础上才得以在ubuntu上成功编译libjpeg的,下面是我所参考的资料:
http://blog.csdn.net/gengshenghong/article/details/7016617
希望我的脚本能帮到您!
不求经典,但求实用道仁作品。