2

以下是我的程序:

#include <cv.h>
#include <highgui.h>
#include <iostream>

using namespace std;
using namespace cv;

int main(int argc, char** argv)
{
    Mat image = imread("/Users/hanxu/Pictures/me.jpg", CV_LOAD_IMAGE_GRAYSCALE);
    if (!image.data) {
        cout << "Image load failed" << endl;
        return -1;
    }

    namedWindow("Image_Colored");
    imshow("Image_Colored", image);

    waitKey(0);
    return 0;
}

发生错误:

/usr/local/include/opencv2/flann/lsh_table.h:196:14: Use of undeclared identifier 'use_speed_'

那里的代码:

#if USE_UNORDERED_MAP
    if (!use_speed_) buckets_space_.rehash((buckets_space_.size() + dataset.rows) * 1.2);
#endif

最初,Xcode 不支持 unordered_map,我将构建设置中的“C++ 标准库”更改为“支持 C++11”。

4

1 回答 1

1

我通过更改 lsh_table.h 中的这一行来解决这个问题

if (!use_speed_) buckets_space_.rehash((buckets_space_.size() + dataset.rows) * 1.2);

buckets_space_.rehash((buckets_space_.size() + dataset.rows) * 1.2);

您可以在https://github.com/mariusmuja/flann/pull/51/files上找到更多信息

于 2012-09-22T10:02:53.023 回答