展会信息港展会大全

Android 使用OpenCV之编译环境非CygWin方式(Win7+Eclipse+ADT+CDT+NDK)
来源:互联网   发布日期:2016-01-14 13:32:40   浏览:2549次  

导读:只有简单的三步,官网写的非常简明全面,非常佩服【准备】1. Eclipse(Indigo)2. ADT: 这个不说了,无非就是eclipse添加个android的安装源,如果这里选择...

只有简单的三步,官网写的非常简明全面,非常佩服

【准备】

1. Eclipse(Indigo)

2. ADT: 这个不说了,无非就是eclipse添加个android的安装源,如果这里选择了NDK Plugin的话,就会自动安装CDT哟;

3. NDK(android-ndk-r9d-windows-x86_64)

地址: http://developer.android.com/tools/sdk/ndk/index.html#Installing 选择适合自己的版本;

足矣,下面就是几步简单配置:

【配置A】NDK和CDT安装完成后,在项目属性也能看到类似页面,

一劳永逸的方法就是在系统环境变量里添加NDKROOT路径到你解压的NDK路径,

【配置B,添加编译c/c++的头文件】

此时编译还会提示std什么的unresolved,添加头文件包含路径吧,可以勾选上 apply to all configuration;

Open Project Properties -> C/C++ General -> Paths and Symbols and add the following Include paths for C++:

# for NDK r8 and prior:

${NDKROOT}/platforms/android-9/arch-arm/usr/include

${NDKROOT}/sources/cxx-stl/gnu-libstdc++/include

${NDKROOT}/sources/cxx-stl/gnu-libstdc++/libs/armeabi-v7a/include

${ProjDirPath}/../../sdk/native/jni/include

# for NDK r8b and later:

${NDKROOT}/platforms/android-9/arch-arm/usr/include

${NDKROOT}/sources/cxx-stl/gnu-libstdc++/4.6/include

${NDKROOT}/sources/cxx-stl/gnu-libstdc++/4.6/libs/armeabi-v7a/include

${ProjDirPath}/../../sdk/native/jni/include

【测试】

这样import OpenCV-2.4.6-android-sdk的sample进来测试,注意如果import时选择了copy到workspace(最好不要copy,因为sample中很多代码都用到了sdk里的东西,而且取的是相对路径),则需要添加包含路径到sdk的 jni/include路径下,即上面的绿色背景下的相对路径由于你的移出已经不起作用了。

至此so,apk一个也不缺的出来了,都不用三步;

EnjoyIT,

【编外】:

http://developer.android.com/tools/sdk/ndk/index.html#Installing 不仅有ndk的各种版本,ndk的使用方法在这个地址下也是简明扼要。

比如介绍了使用NativeCode可以有两种方法:1). 大名鼎鼎的JNI,这种方法发挥AndroidFramework的长处,缺点就是需要针对不同平台编译出不同库(.so),比如常见的arm-eabi, armv7, arm-eabi-withNeon 等版本;2).NativeActivity,在Android机制里类似JavaActivity生命周期的回调 函数。

赞助本站

人工智能实验室

相关热词: android开发

AiLab云推荐
展开

热门栏目HotCates

Copyright © 2010-2024 AiLab Team. 人工智能实验室 版权所有    关于我们 | 联系我们 | 广告服务 | 公司动态 | 免责声明 | 隐私条款 | 工作机会 | 展会港