NDK编译OpenCV-3.0.0的配置文件

原创 2015年11月18日 17:37:37

仅做记录,未涉及背景相关内容

#!/bin/sh

export ANDROID_NDK=/home/mytest/android-ndk-r13b
export ANDROID_NATIVE_API_LEVEL=21
export ANDROID_TOOLCHAIN_NAME=arm-linux-androideabi-4.9
export ANDROID_ABI=armeabi-v7a
export ANDROID_STL=gnustl_static

cmake \
	-DBUILD_SHARED_LIBS=ON \
	-DWITH_OPENGL=ON \
	-DBUILD_opencv_apps=ON \
	-DBUILD_ANDROID_EXAMPLES=ON \
	-DBUILD_DOCS=ON \
	-DBUILD_EXAMPLES=ON \
	-DBUILD_PERF_TESTS=ON \
	-DBUILD_TESTS=ON \
	-DENABLE_VFPV3=ON \
	-DENABLE_NEON=ON \
	-DINSTALL_C_EXAMPLES=ON \
	-DINSTALL_PYTHON_EXAMPLES=ON \
	-DINSTALL_ANDROID_EXAMPLES=ON \
	-DINSTALL_TESTS=ON \
	-DDOXYGEN_EXECUTABLE=/usr/bin/doxygen \
	-DPLANTUML_JAR=../plantuml.8033.jar \
	-DOPENCV_EXTRA_MODULES_PATH=../../opencv_contrib/modules \
	-DCMAKE_TOOLCHAIN_FILE=../platforms/android/android.toolchain.cmake ..
这样配置是比较大而全的,执行make编译,执行make package生成sdk

=====================================

20170711补充:原始linux(armv7-a/neon/vfp3)下的配置会有一点不同:

export CROSSTOOL_PATH=/home/mytest/gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf
export CROSSTOOL_COMPILER=${CROSSTOOL_PATH}/bin/arm-linux-gnueabihf-
export CROSSTOOL_SYSROOT=${CROSSTOOL_PATH}/arm-linux-gnueabihf/libc
cmake \  
    -DBUILD_SHARED_LIBS=ON \  
    -DWITH_OPENGL=ON \  
    -DBUILD_opencv_apps=ON \  
    -DBUILD_ANDROID_EXAMPLES=ON \  
    -DBUILD_DOCS=ON \  
    -DBUILD_EXAMPLES=ON \  
    -DBUILD_PERF_TESTS=ON \  
    -DBUILD_TESTS=ON \  
    -DENABLE_VFPV3=ON \  
    -DENABLE_NEON=ON \  
    -DINSTALL_C_EXAMPLES=ON \  
    -DINSTALL_PYTHON_EXAMPLES=ON \  
    -DINSTALL_ANDROID_EXAMPLES=ON \  
    -DINSTALL_TESTS=ON \  
    -DDOXYGEN_EXECUTABLE=/usr/bin/doxygen \  
    -DPLANTUML_JAR=../plantuml.8033.jar \
    -DCMAKE_C_COMPILER=${CROSSTOOL_COMPILER}gcc \
    -DCMAKE_CXX_COMPILER=${CROSSTOOL_COMPILER}g++ \
    -DCMAKE_LINKER=${CROSSTOOL_COMPILER}ld \
    -DCMAKE_STRIP=${CROSSTOOL_COMPILER}strip \
    -DCMAKE_RANLIB=${CROSSTOOL_COMPILER}ranlib \
    -DCMAKE_AR=${CROSSTOOL_COMPILER}ar \
    -DCMAKE_FIND_ROOT_PATH=${CROSSTOOL_SYSROOT} \
    -DCMAKE_FIND_ROOT_PATH_MODE_PROGRAM=NEVER \
    -DCMAKE_FIND_ROOT_PATH_MODE_LIBRARY=ONLY \
    -DCMAKE_FIND_ROOT_PATH_MODE_INCLUDE=ONLY \
    -DCMAKE_C_FLAGS="-march=armv7-a -mcpu=cortex-a8 -mfpu=neon" \
    -DCMAKE_CXX_FLAGS="-march=armv7-a -mcpu=cortex-a8 -mfpu=neon" \
    -DOPENCV_EXTRA_MODULES_PATH=../../opencv_contrib/modules \  
    -DCMAKE_TOOLCHAIN_FILE=../platforms/android/android.toolchain.cmake .. 
说明:同样的测试程序在原始linux下居然慢一倍的速度,通过对比cmake输出信息增加了sysroot配置项(否则提示找不到libm,关闭浮点运算功能)、增加了clags配置(指定架构和浮点运算支持)


【opencv】ndk编译opencv源码

本篇文章主要介绍如何用ndk编译opencv源码。这篇文章所介绍的步骤是在通过CMAKE配置了opencv源码后的基础上进行的。如果还没有经过vs配置opencv源码,请参照: 【opencv】如何配...
  • jaych
  • jaych
  • 2016年04月05日 21:57
  • 2192

使用opencv源码自己编制android so库的过程

工作需要,在android上使用opencv。opencv当前的版本(2.4.8)已经有了opencv4android,但是一方面这个SDK将所有opencv的功能打到了一个so包里,所以so的体积较...
  • lantishua
  • lantishua
  • 2014年03月13日 18:44
  • 7643

android NDK整合opencv开发——流程总结(window环境)

使用opencv有两种方式: 一种是使用opencv的java版本的API,但是这种方式不是通过本地调用实现的,全部都是java代码。 一种是使用opencv的c++版本的API,将本地c++代码编译...
  • zhoubin1992
  • zhoubin1992
  • 2015年04月21日 18:42
  • 1274

ndk 编译opencv

1.        NDK下载 2.        NDK 环境配置 1) 设置NDK的路径到环境变量    打开/etc/profile文件,在文件尾部添加如下内容: export NDK_...
  • kinglord2007
  • kinglord2007
  • 2017年04月01日 15:30
  • 744

AndroidStudio2.2下利用CMake编译方式的NDK opencv开发

AndroidStudio2.2对C++开发做了很好的支持,默认使用CMake构建编译,以前做Andorid下的opencv开发都是基于Android.mk方式是编译和配置opencv依赖的加载,本文...
  • ddjjll8877
  • ddjjll8877
  • 2016年09月26日 14:41
  • 5846

Android调用C++OpenCV程序的方法(NDK+JNI)

参考:   [1] http://blog.csdn.net/donglynn/article/details/23046925         [2]http://www.cnblogs.com/d...
  • superyuanzhe
  • superyuanzhe
  • 2015年08月03日 21:06
  • 2258

NDK使用 ,OpenCV库的调用,在NDK中使用纯C++代码,android studio 2.1(1)

NDK使用 ,OpenCV库的调用,在NDK中使用纯C++代码,android studio 2.1(1) 盖天地不全,这经原是全全的,今沾破了, 乃是应不全之奥妙也,岂人力 所能与耶! 愿来者补充...
  • u010277233
  • u010277233
  • 2016年07月25日 19:11
  • 1562

Win7编译OpenCV3.2.0 for Android

1, 编译环境: Win7 64 位 CMake 3.8.0-rc3 android-ndk-r9c OpenCV3.2.0 2. 编译命令: SET PATH=D:\Program\cmake-...
  • CaroTong
  • CaroTong
  • 2017年03月30日 10:58
  • 581

Windows下编译opencv4android+opencv_contrib

在这里给大家分享一下关于在windows编译opencv4Android+opencv_contrib,opencv从3.0版本开始,官网就不再提供整合版的库(也就是核心功能库和拓展功能库分开了),官...
  • Xiao19950820
  • Xiao19950820
  • 2017年08月12日 16:35
  • 437

在MacOS 10.13.2 下编译 OpenCV3.4.0 + OpenCV Contrib 3.4.0 成 Android 库

道路很曲折,搞明白几个事,其实也简单。我写的都是我自己碰到的问题,供大家参考。 感谢 http://blog.csdn.net/wjskeepmaking/article/details/70597...
  • marksim
  • marksim
  • 2018年01月28日 00:28
  • 155
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:NDK编译OpenCV-3.0.0的配置文件
举报原因:
原因补充:

(最多只允许输入30个字)