现在的位置: 首页 > 综合 > 正文

NDK编译Poco(一)

2018年02月11日 ⁄ 综合 ⁄ 共 1051字 ⁄ 字号 评论关闭

Linux操作系统:Deepin 2014.1 x86
Android NDK r10d:http://dl.google.com/android/ndk/android-ndk-r10d-linux-x86.bin
Poco 1.4.7p1-all:http://pocoproject.org/releases/poco-1.4.7/poco-1.4.7p1-all.zip

NKD解压后的路径:$HOME/android-ndk-r10d
Poco解压后的路径:$HOME/poco-1.4.7p1-all

编辑.bashrc文件
vi ~/.bashrc

在文件末尾添加
export NDK=$HOME/android-ndk-r10d
export PATH=$PATH:$HOME/my-android-toolchain/bin:$NDK

注意,上面的“$HOME/my-android-toolchain/bin”就是接下来要在NDK配置中设置的参数。

接着重要的一步来了,进入Poco目录,编辑文件 build/config/Android,找到

SHAREDLIBEXT     = .so.$(target_version)
SHAREDLIBLINKEXT = .so

改为

SHAREDLIBEXT     = .so
SHAREDLIBLINKEXT = 

不改的话,最后生成的.so文件名都带有版本号,比如xx.so.24这样的,而在JNI开发时,Android.mk文件中不支持带版本号这种写法。

然后依次输入以下命令,相关配置参数根据自己的实际情况修改。注意--install-dir路径要和上面修改的路径一致
$NDK/build/tools/make-standalone-toolchain.sh --toolchain=arm-linux-androideabi-4.9 --stl=gnustl --arch=arm --platform=android-8 --install-dir=$HOME/my-android-toolchain

下面的是Poco的编译设置,根据自己需要修改
./configure --config=Android --no-tests --no-samples --omit=Data/SQLite --static --shared

开始编译

make -s -j4

构建armeabi-v7a可以用

make -s -j4 ANDROID_ABI=armeabi-v7a

最后就是在JNI中引入相关文件使用了。

相关链接:NDK编译Poco(二)

【上篇】
【下篇】

抱歉!评论已关闭.