使用tbb运行时对符号'_ZN3tbb18task_group_contextD1Ev'的Opencv未定义引用

时间:2019-08-22 17:25:03

标签: c++ opencv opencv3.0 tbb

我只是想在此question中找到的OpenCV中使用tbb处理多个图像。

以下是我的示例代码。

#include <opencv2/opencv.hpp>
#include "tbb/tbb.h"
using namespace tbb;

using namespace cv;
using namespace std;


void processBinary(Mat image) {
    //image processing
    Mat gray;
    cvtColor(image, gray, CV_BGR2GRAY);
}

int main( )
{
    Mat m1, m2, m3, m4;
    m1 = imread("test1.jpg", IMREAD_COLOR); // Read the file
    m2 = imread("test2.jpg", IMREAD_COLOR); // Read the file
    m3 = imread("test3.jpg", IMREAD_COLOR); // Read the file
    m4 = imread("test4.jpg", IMREAD_COLOR); // Read the file
    std::vector<cv::Mat> input = { m1, m2, m3, m4 };
   tbb::parallel_for(size_t(0), input.size(), size_t(1), [=](size_t i) {
    processBinary(input[i]);
});
    return 0;
} 

我使用以下命令运行文件- g++ test1.cpp -a app `pkg-config --cflags --libs opencv

我遇到以下错误:

/usr/bin/ld: /tmp/cc79ceOq.o: undefined reference to symbol '_ZN3tbb18task_group_contextD1Ev'
//usr/lib/x86_64-linux-gnu/libtbb.so.2: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status

感谢您的帮助!

0 个答案:

没有答案