xcode 在 Xcode 中使用 aruco opencv 模块构建带有未定义符号的错误

xcode build error with undefined symbols using aruco opencv module in Xcode

我使用 OpenCV 3.4 和 opencv_contrib 构建了 opencv2.framework 以便使用 aruco 库。我正在将这个框架导入 Xcode 并且我能够导入和使用标准的 OpenCV 模块而没有编译错误。

我可以 #import <aruco/aruco.h> 没有编译错误。但是,一旦我尝试使用 aruco 中的任何 类,我就会收到编译错误。在这种情况下:

Undefined symbols for aruco::MarkerDetector::~MarkerDetector()

#import <opencv2/opencv.hpp>
#import <opencv2/core.hpp>
#import <opencv2/imgcodecs/ios.h>
#import <opencv2/imgproc/imgproc.hpp>
#import <aruco/aruco.h>

-(void)doSomething() {
    //anything in cv:: lib is fine, no compile errors
    cv::Mat mat(3,3,CV_32); 

    //but as soon as I try to use aruco I get compile error
    aruco::MarkerDetector detector;

}

我成功了。如果我包括 vs import aruco - #include "opencv/aruco.hpp" 我就可以使用 aruco cv::aruco::detectMarkers(....).

出于某种原因,当我导入 aruco 时,代码完成似乎没有准确反映 API,这造成了额外的混乱。