Ask Your Question

Opelfahrer's profile - activity

2019-04-05 02:08:30 -0600 received badge  Notable Question (source)
2016-11-16 14:50:53 -0600 received badge  Popular Question (source)
2013-12-16 04:27:38 -0600 received badge  Student (source)
2013-07-30 08:10:04 -0600 asked a question opencv IOS - MacTypes.h, ambiguous references

My previous question referred to linker errors - although the opencv2.framework is included, it does not find functions like the FeatureDetector::detect for example... well, it seems that this has to do with the order of includes... so rearranging the order of includes I end up with:

Reference to 'Ptr' ambiguous
Reference to 'Point' ambiguous
Reference to 'Rect' ambiguous

I don't get how I can come around this issue... someone in another forum suggested to #define the Ptr, Point and Rect, then include the system headers and then #undef them again... This resulted in exactly the same linker problems that I already had before...

Undefined symbols for architecture armv7:
"cv::FeatureDetector::detect(cv::Mat const&, std::vector<cv::KeyPoint, 
std::allocator<cv::KeyPoint> >&, cv::Mat const&) const", referenced from:
   detect(char const*, cv::Mat&, float, float) in 
libDetector.a(ObjectDetector.o)

Can someone tell me what is the real and correct way to fuse opencv with ios?

2013-07-30 06:06:38 -0600 commented question 2.4.6 opencv2.framework - iOS linker error cv::FeatureDetector::detect

BUMP.... NOONE?

2013-07-29 02:21:56 -0600 asked a question 2.4.6 opencv2.framework - iOS linker error cv::FeatureDetector::detect

hey,

I tried to compile some code snippets with the most recent opencv 2.4.6, downloading and including the IOS opencv2.framework. Unfortunately I'm stuck with the following error message during linking:

  #include <opencv2/features2d/features2d.hpp>
  ...
  cv::Mat descriptorsA, descriptorsB;
  std::vector<cv::KeyPoint> keypointsA, keypointsB;
  //set brisk parameters            
  int Threshl=60;
  int Octaves=4; // (pyramid layer) from which the keypoint has been extracted
  float PatternScales=1.0f;
  //declare a variable BRISKD of the type cv::BRISK
  cv::BRISK  BRISKD(Threshl,Octaves,PatternScales);//initialize algoritm
  BRISKD.create("Feature2D.BRISK");
  BRISKD.detect(curIm, keypointsA);
  BRISKD.compute(curIm, keypointsA,descriptorsA);

The errors are:

  Undefined symbols for architecture armv7:
  "cv::FeatureDetector::detect(cv::Mat const&, std::vector<cv::KeyPoint, 
  std::allocator<cv::KeyPoint> >&, cv::Mat const&) const", referenced from:
      detect(char const*, cv::Mat&, float, float) in 
  libDetector.a(ObjectDetector.o)
  "cv::Feature2D::create(std::string const&)", referenced from:
      detect(char const*, cv::Mat&, float, float) in   l
  libDetector.a(ObjectDetector.o)
  "cv::DescriptorExtractor::compute(cv::Mat const&, std::vector<cv::KeyPoint,  
  std::allocator<cv::KeyPoint> >&, cv::Mat&) const", referenced from:
      detect(char const*, cv::Mat&, float, float) in 
  libDetector.a(ObjectDetector.o)
  ld: symbol(s) not found for architecture armv7

I can't actually find any error with this code, nor with my configuration. Any ideas?