Cygwin下编译自己的OpenASURF共享库

简介: Cygwin下编译自己的OpenASURF共享库

依赖条件:

0. Android sdk

1. 支持STL的crystax's patched ndk

2. OpenCV-Android


android ndk 1.6 不支持大部分的STL去创建本地库,你需要使用一种改进的NDK,地址如下:

http://crystax.net/androidndk.php


我搭建的开发环境是32位的window7 + windows 的crystax ndk

只要将它解压并cd到相应目录就可以像往常那样使用ndk了。

ps:还可以使用std::vector<IpPoint> 等.


用git获取 OpenCV-Android(svn也可以)

git clone: git://github.com/billmccord/OpenCV-Android

ndk编译生成以下opencv共享库

Ok. 我使用 swig 生成 jni wrappers...如果你没有,就去下载一个swig 。虽然OpenASURF的swig wrappers 已经生成了,但是如果你更改了代码,需要重新运行jni目录中的swig.sh.

接着我们开始看OpenASURF工程,打开Android.mk,修改以下两个变量(因为每个人放置的目录可能都不一样)


LOCAL_LDLIBS


OPENCV


由于我的OpenCV-Android项目和OpenASURF工程都是放在我自己定义的NDK/apps目录下,所以


(NDK_CV 是我export的/cygdrive/C/Android/android-ndk-r4-crystax/)


我的定义如下:


LOCAL_LDLIBS +=-L$(SYSROOT)/usr/lib -L$(NDK_CV)/apps/OpenCV-Android/trunk/obj/local/armeabi -lopencv -lcxcore -lcv -lcvaux -lcvml -lcvhighgui \

-llog  \


OPENCV := ../OpenCV-Android/trunk/jni


现在就可以在OpenASURF根目录中运行$NDK/ndk-build了

 


这将会在 lib/armabi/ 目录中生成 OpenSURF.lib. 注意还要确保把 opencv.lib复制到该目录下.



目录
相关文章
|
22天前
|
C++
VS 查看指定可执行文件(例如 myexec.exe)依赖的动态链接库
VS 查看指定可执行文件(例如 myexec.exe)依赖的动态链接库
13 3
|
4月前
|
前端开发 Unix 开发工具
windows使用cygwin编译Xyce
windows使用cygwin编译Xyce
59 0
|
12月前
|
编译器 C++
使用64位的编译工具进行编译
本文记录了使用64位的编译工具进行编译的过程
|
安全 Linux 编译器
【Linux编译器gcc/g++】带你了解代码是如何变成可执行程序的!
【Linux编译器gcc/g++】带你了解代码是如何变成可执行程序的!
|
NoSQL Linux C++
Linux环境编译动态库
Linux环境编译动态库
122 0
|
编译器 Linux C语言
MinGW编译动态库
MinGW编译动态库
507 0
|
Linux vr&ar C语言
Linux环境编译静态库
Linux环境编译静态库
132 0
|
Ubuntu
Ubuntu 18.04使用CMake编译可执行文件、动态链接库
Ubuntu 18.04使用CMake编译可执行文件、动态链接库
898 0
Ubuntu 18.04使用CMake编译可执行文件、动态链接库
|
Linux C++ Windows
MSVC编译动态库
MSVC编译动态库
274 0
|
编译器 Linux vr&ar
MinGW编译静态库
MinGW编译静态库
354 0