linux下jrtplib库移植到android上
来源:互联网 发布:无尽之剑3宝石数据修改 编辑:程序博客网 时间:2024/05/01 15:22
前提linux下安装cmake,可执行sudo apt-get install cmake安装。(本文参照https://github.com/jimjh/JRTPLib-for-Android,作者在mac系统编译通过)
1,下载相关lib库,本列使用jrtplib-1.9.0和jthread-1.3.0(注:jrtplib引用了jthread的线程,所以要使用jthread库)
2,解压后得到文件夹jrtplib-1.9.0和jthread-1.3.0。
3,在jthread-1.3.0文件夹下建立android.sh构建脚本.内容如下(备注:ndk路径和C_FLAGS请改为自己系统的正确路径)
#!/bin/sh# # # Builds the JThread library for Androidexport NDK_ROOT="/home/lch/Desktop/android-ndk-r9d"export PATH="${NDK_ROOT}/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86/bin/:${PATH}"SYS_ROOT="${NDK_ROOT}/platforms/android-8/arch-arm"PREF="arm-linux-androideabi-"OUT_DIR="`pwd`/android-build"C_FLAGS="-lstdc++ -lsupc++ \ -I${NDK_ROOT}/sources/cxx-stl/gnu-libstdc++/4.6/include \ -I${NDK_ROOT}/sources/cxx-stl/gnu-libstdc++/4.6/libs/armeabi/include \ -L${NDK_ROOT}/sources/cxx-stl/gnu-libstdc++/4.6/libs/armeabi"set -eexport CC="${PREF}gcc --sysroot=${SYS_ROOT}"export CXX="${PREF}g++ --sysroot=${SYS_ROOT}"export LD="${PREF}ld --sysroot=${SYS_ROOT}"export CPP="${PREF}cpp --sysroot=${SYS_ROOT}"export AS="${PREF}as"export OBJCOPY="${PREF}objcopy"export OBJDUMP="${PREF}objdump"export STRIP="${PREF}strip"export RANLIB="${PREF}ranlib"export CCLD="${PREF}gcc --sysroot=${SYS_ROOT}"export AR="${PREF}ar"cmake\-DCMAKE_SYSTEM_NAME="Generic" \ -DCMAKE_CXX_FLAGS="${C_FLAGS}"\-DCMAKE_FIND_ROOT_PATH="${SYS_ROOT}" \-DCMAKE_INSTALL_PREFIX="${OUT_DIR}" . && \make && \make installcd ${OUT_DIR}/lib && \${AR} -x libjthread.a && \${CXX} ${C_FLAGS} -shared -Wl,-soname,libjthread.so -o libjthread.so *.obj && \rm *.objexit 0
4,命令行执行android.sh脚本即可在当前目录的android-build目录下得到相关头文件和库。
5,编译jrtplib库,在jrtplib-1.9.0文件夹下建立android.sh构建脚本.内容如下(备注:ndk路径和C_FLAGS请改为自己系统的正确路径,打开CMakeLists.txt,找到并注释掉: add_subdirectory(examples),因为在编译例子的时候会有错误 ,我们只需要这个库)
#!/bin/sh# # # Builds the JRTPLib library for Androidexport NDK_ROOT="/home/lch/Desktop/android-ndk-r9d"export PATH="${NDK_ROOT}/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86/bin/:${PATH}"SYS_ROOT="${NDK_ROOT}/platforms/android-8/arch-arm"PREF="arm-linux-androideabi-"C_FLAGS="-lc \-lgcc \-lstdc++ -lsupc++ \-I${NDK_ROOT}/sources/cxx-stl/gnu-libstdc++/4.6/include \-I${NDK_ROOT}/sources/cxx-stl/gnu-libstdc++/4.6/libs/armeabi/include \-L../jthread-1.3.0/android-build/lib \-L${NDK_ROOT}/sources/cxx-stl/gnu-libstdc++/4.6/libs/armeabi"OUT_DIR="`pwd`/android-build"set -eexport CC="${PREF}gcc --sysroot=${SYS_ROOT}"export CXX="${PREF}g++ --sysroot=${SYS_ROOT}"export LD="${PREF}ld --sysroot=${SYS_ROOT}"export CPP="${PREF}cpp --sysroot=${SYS_ROOT}"export AS="${PREF}as"export OBJCOPY="${PREF}objcopy"export OBJDUMP="${PREF}objdump"export STRIP="${PREF}strip"export RANLIB="${PREF}ranlib"export CCLD="${PREF}gcc --sysroot=${SYS_ROOT}"export AR="${PREF}ar"cmake\-DCMAKE_SYSTEM_NAME="Generic" \-DCMAKE_CXX_FLAGS="${C_FLAGS}" \-DCMAKE_FIND_ROOT_PATH="${SYS_ROOT}" \-DJTHREAD_INCLUDE_DIRS="../jthread-1.3.0/android-build/include" \-DJTHREAD_LIBRARIES="../jthread-1.3.0/android-build/lib" \-DCMAKE_PREFIX_PATH="../jthread-1.3.0/android-build" \-DCMAKE_INSTALL_PREFIX="${OUT_DIR}" .make && \make installcd ${OUT_DIR}/lib && \${AR} -x libjrtplib.a && \${CXX} ${C_FLAGS} -shared -Wl,-soname,libjrtplib.so -o libjrtplib.so *.obj && \rm *.objexit 0
6,命令行执行android.sh脚本即可在当前目录的android-build目录下得到相关头文件和库。
0 0
- linux下jrtplib库移植到android上
- JRTPLib 移植到Android - Ubuntu
- 移植JRTPLib到Montavista
- Linux程序移植到Android上
- Linux程序移植到Android上
- jrtplib在dm355和motavista linux上的移植
- jrtplib在dm355和motavista linux上的移植
- JRTPLib windows 上的移植
- JRTPLib移植到OMAP3530平台
- Jrtplib移植到arm平台
- Linux下C++ Socket移植到Android
- linux下裁剪ffmpeg移植到 Android
- 关于linux下项目移植到windows上的问题
- linux下交叉编译libjpeg库并移植到开发板上
- Linux下编译cocos2dx for android(cocos2dx移植到android)
- JNA移植到android上
- icovn移植到android上
- 移植live555到android上
- 字符串的合并
- 11、接口——interface
- 【java】Volatile使用与理解
- phonegap学习笔记1——创建工程 使用插件
- ActionBar隐藏与出现
- linux下jrtplib库移植到android上
- 内核模块遍历进程和任务队列保存到proc文件中
- 12、static与final关键字详解
- 第二周课程管理实践总结
- 二叉查找树及平衡二叉查找树
- 快速排序
- MATLAB学习笔记(三)
- 第三章第39题
- large-scale parallel collaborative filtering for the Netfile Priza