Cygwin下编译自己的OpenASURF共享库

本文详细介绍了如何在32位的Windows环境下,通过安装crystax's patched ndk、获取并配置OpenCV-Android库,以及在OpenASURF工程中正确引用这些资源来成功构建OpenASURF项目。重点涵盖了ndk编译生成所需共享库的过程,并强调了本地库依赖于OpenCV的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

依赖条件:
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复制到该目录下.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ShaderJoy

您的打赏是我继续写博客的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值