OPENCV筛选未定义的参考问题
Opencv SIFT undefined references issue
在函数 keypoint_calc(cv::Mat)':
FilePath/MyFirstOpenCVJNI-master/jni/first-opencvjni.cpp:35: undefined reference to
cv :: xfeatures2d :: sift :: create(int,int,double,double,double('
./obj/local/arm64-v8a/objs/first-opencvjni/first-opencvjni.o:在函数 sift_descriptor(cv::Mat, std::vector<cv::KeyPoint, std::allocator<cv::KeyPoint> >)':
FilePath/MyFirstOpenCVJNI-master/jni/first-opencvjni.cpp:45: undefined reference to
cv :: xfeatures2d :: sift :: sift :: sift :: create(int,int,int,int,int,int,int,double,double,double('''
#include <jni.h>
#include <opencv2/core/core.hpp>
#include <opencv2/imgproc/imgproc_c.h>
#include <opencv/cv.h>
#include <opencv2/opencv.hpp>
#include <GLES2/gl2.h>
#include <android/log.h>
#include <opencv2/flann/flann.hpp>
#include "opencv2/highgui/highgui.hpp"
#include "opencv2/calib3d/calib3d.hpp"
#include "opencv2/nonfree/nonfree.hpp"
#include "opencv2/nonfree/features2d.hpp"
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/xfeatures2d.hpp>
#include <iostream>
#define LOG_TAG "cpp-file"
是我的。
以及在上述行上,我有以下代码。
cv::Ptr<cv::xfeatures2d::SIFT> feature_detector = cv::xfeatures2d::SIFT::create(200);
和
cv::Ptr<cv::xfeatures2d::SIFT> feature_detector = cv::xfeatures2d::SIFT::create(200);
我是JNI的菜鸟,任何帮助都将不胜感激。
未定义的参考由 Linker 报告。您的项目( android.mk 或 cmakelists.txt (应包括OpenCV库。SIFT已获得专利,因此它不属于自由预制的OpenCV Android分布的一部分。您可以单独构建 libnonfree.so 并将其用作应用程序中的预构建的共享库,也可以将SIFT编译为静态库。
可以在此处和此处找到详细的说明,但是它们可能需要适应最新版本(3.2(版和新的NDK版本。如果您不在乎最新版本,也可以下载预制的二进制文件。
- 在决定是通过参考还是通过价值时,尺寸真的是一个问题吗
- C++:Application.cpp中抛出了未解析的外部符号(解决方案在问题的末尾,供未来的读者参考)
- C++ 而循环问题 Codecademy 参考 [已解决]
- 我有几个关于参考变量的问题
- MSYS2静态QT未定义的参考问题
- OPENCV筛选未定义的参考问题
- 有关参考和指针的问题
- Python C-API:PYDICT_GETITEM上的分割故障,可能的参考问题
- 参考类型静态数据成员的问题可能是编译器错误
- 通过参考问题
- 命名空间外部变量的未定义参考/多重定义,C 结构问题
- 关于通用参考和左值参考的问题
- 通过参考问题
- 矢量参考问题
- VS 2010构建问题:参考问题
- 课堂自我参考问题
- C++参考问题
- 未定义的参考问题
- C++11重新评估参考问题
- 使用boost::asio时的参考问题(我猜)