在我们的项目中,我们决定迁移OpenCL以增强图像处理。迁移后,项目没有成功。因此,我们尝试了来自OpenCL的最小代码,并确定如果OpenCV正在使用中,那么该项目就无法运行。
例如
int main(){
cv::Mat mat;
std::vector<cl::Platform> all_platforms;
cl::Platform::get(&all_platforms);
std::cout <<"fertig.";
return 0;
}
在cl :: Platform :: get()。
崩溃terminate called after throwing an instance of 'cl::Error'
what(): clGetPlatformIDs
我用
编译了它gcc test.cpp -lOpenCl -lopencv_core -lopencv_highgui
如果我放出这个小命令行&#34; cv :: Mat mat&#34;一切都好。那么,问题是什么?
我使用的是英特尔OpenCl驱动程序:1.2-4.4.0.117。