编译Android版本的Poco库
编译Android版本的Poco库
项目需要在android平台使用Poco库,花了些时间成功编译,记录下来以备后用。
编译库总是跟版本有关:编译主机系统为Ubuntu16.04 64位,Poco的版本为1.9.0,
Android ndk版本为r17c。
首先配置系统环境变量,执行命令sudo gedit /etc/profile 在文件末尾加上
export NDK=/home/wgg/Libary/android-ndk-r17c
export ARMGCC=/home/wgg/Libary/android-ndk-r17c/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/bin
export PATH=${PATH}:$NDK
export PATH=${PATH}:$ARMGCC
export ANDROID_NDK_ROOT=$NDK
export ANDROID_SYSROOT=$NDK/sysroot
export PATH=${PATH}:${ANDROID_SYSROOT}
export APP_PLATFORM="android-21"
export TARGET_ABI=armeabi-v7a
export NDK_TOOLCHAIN_VERSION=4.9
export ARMINC=$NDK/sources/cxx-stl/llvm-libc++/include
export INCB=$NDK/sysroot/usr/include/arm-linux-androideabi
export WCINC=$NDK/sysroot/usr/include
export CPLUS_INCLUDE_PATH=${ARMINC}:${INCB}:${WCINC}:${CPLUS_INCLUDE_PATH}
export C_INCLUDE_PATH=${ARMINC}:${INCB}:${WCINC}:${C_INCLUDE_PATH
添加完成后,执行source /etc/profile(也可以重启电脑,重启电脑总是有效的)需要注意的是NDK 需要修改成实际的ndk路径。
ndk编译环境配置好后,修改poco 配置文件build/config/Android,修改内容如下:
文件开始处添加
1 2 |
|
1 2 3 4 5 |
|
SHAREDLIBEXT = .so.$(target_version)
SHAREDLIBLINKEXT = .so
改为
SHAREDLIBEXT = .so
SHAREDLIBLINKEXT =
CFLAGS = $(ARCHFLAGS) -fpic -ffunction-sections -funwind-tables -fstack-protector -fno-strict-aliasing -finline-limit=64
CXXFLAGS = $(ARCHFLAGS) -fpic -ffunction-sections -funwind-tables -fstack-protector -fno-strict-aliasing -finline-limit=64 -frtti -fexceptions
改为
CFLAGS = $(ARCHFLAGS) -fpic -ffunction-sections -funwind-tables -fstack-protector -fno-strict-aliasing -finline-limit=64 -std=c11
CXXFLAGS = $(ARCHFLAGS) -fpic -ffunction-sections -funwind-tables -fstack-protector -fno-strict-aliasing -finline-limit=64 -frtti -fexceptions -std=c++11 -DANDROID_STL=c++_shared
CXXFLAGS +=--sysroot=${ANDROID_SYSROOT}
1 2 3 |
|
1 |
|
以上修改可能有重复的地方,没有一一check。
最后配置Poco并make、make install
./configure --config=Android --no-tests --no-samples --minimal --static --shared --perfix=/home/chungeng/compile/poco
make
make install
如需交流可加QQ群766718184,1038388075 或者QQ3501870,
视频下载地址:http://www.chungen90.com/?news_33/
Demo下载地址: http://www.chungen90.com/?news_34
编译Android版本的Poco库相关推荐
- 【ijkplayer】编译 Android 版本的 ijkplayer ② ( 切换到 k0.8.8 分支 | 执行 init-android.sh 脚本进行初始化操作 )
文章目录 一.进入 ijkplayer-android 目录 二.切换到 k0.8.8 分支 三.执行 init-android.sh 脚本进行初始化操作 参考 https://github.com/ ...
- 【错误记录】编译 Android 版本的 ijkplayer 报错 ( ./init-android.sh: 第 37 行: cd: android/contrib/: 没有那个文件或目录 )
文章目录 一.报错信息 二.解决方案 一.报错信息 编译 Android 版本的 ijkplayer 时 , 执行 init-android.sh 脚本 , 报如下错误 ; root@octopus: ...
- 编译android版本binutils工具
编译android版本binutils工具 准备 编译环境:ubuntu 20.04.2 编译器版本:ndk-24.0.8215888 binutils版本: 2.33.1 1. 生成android ...
- 编译Android版本TensorFlow
在Ubuntu 18.04 LTS 下编译Tensorflow的Android库的步骤: 安装Android Studio/Android sdk 安装Android NDK(Android NDK可 ...
- WebRTC:下载与编译Android版本的WebRTC(M66)
WebRTC是Google公司开源的一套免费的网页实时音视频通信的解决方案,可以说性能非常强大.可以在Google WebRTC网站https://webrtc.org上下载并使用. 源码 下载 源码 ...
- 编译android版本sdl2
一.SDL官网地址:Simple DirectMedia Layer - Homepage 二.SDL git地址:GitHub - libsdl-org/SDL: Simple Directmedi ...
- 【ijkplayer】编译 Android 版本的 ijkplayer ⑥ ( 进入 ijkplayer-android/android 目录 | 执行 compile-ijk.sh 脚本完成编译 )
文章目录 一.进入 ijkplayer-android/android 目录 二.执行 compile-ijk.sh 脚本 参考 https://github.com/bilibili/ijkplay ...
- 【ijkplayer】编译 Android 版本的 ijkplayer ④ ( 安装 make yasm 软件 | 执行 compile-ffmpeg.sh all 命令编译 ffmpeg )
文章目录 一.安装 make 软件 二.安装 yasm 软件 三.执行 compile-ffmpeg.sh all 命令编译 ffmpeg 参考 https://github.com/bilibili ...
- 【错误记录】编译 Android 版本的 ijkplayer 报错 ( You must define ANDROID_NDK before starting. | 下载指定版本 NDK )
文章目录 一.报错信息 二.解决方案 一.报错信息 在编译 ijkplayer 的过程中 , 出现 root@octopus:~/ijkplayer/ijkplayer-android/android ...
最新文章
- 说说身边产品的用户体验
- 题目1183:守形数
- 429. N-ary Tree Level Order Traversal - LeetCode
- 如何做相册_腾讯相册管家再创相册管理软件新纪元
- poj 1006(中国剩余定理+模板题)
- [树链剖分]List wants to travel,Relief grain,hotel加强版,This world need more Zhu
- NXP UWB NCJ29D5开发(一)环境搭建
- 有驾照不等于会开车,教你开车技巧27招
- python-socket客户服务端的传输原理异常关闭的情况
- 求立方根算法--个人对立方根算法的穷举和优化
- Git版本控制管理(七)--提交和查看提交历史
- 3D建模最常用的是那三款软件?
- 精选数据分析师常见的面试问题2020
- input隐藏边框、设置透明背景色
- 教你微信对接图灵机器人
- 如何将复杂的物理建模过程化繁为简?
- armbian linux装AdGuard Home 广告拦截反追踪
- 转)计算机领域的顶级会议和期刊
- Oracle之查看当前用户的所有表和表的列-yellowcong
- GAP Analysis