我是OpenCV的新手。我使用VSexpress2013作为一个c++应用程序,它只加载并显示一些图像。
这是我写的代码
#include "iostream"
#include "stdio.h"
#include"opencv2/opencv.hpp"
using namespace std;
using namespace cv;
int main(){
cout << "hello world";
Mat image1 = imread("F:/data/S1.jpg")
imshow("first image",image1);
return 0;
}
但当我运行它时,我会得到这个错误:
7 IntelliSense: invalid type for defaulted assignment operator
Error 3 error C3646: 'noexcept' : unknown override specifier
Error 4 error C3646: 'noexcept' : unknown override specifier
Error 6 error C3646: 'noexcept' : unknown override specifier
Error 1 error C2610: 'cv::dnn::dnn4_v20210301::Model::Model(cv::dnn::dnn4_v20210301::Model &&)' : is not a special member function which can be defaulted
Error 2 error C2610: 'cv::dnn::dnn4_v20210301::Model &cv::dnn::dnn4_v20210301::Model::operator =(cv::dnn::dnn4_v20210301::Model &&)' : is not a special member function which can be defaulted
Error 5 error C2610: 'cv::cuda::GpuMatND &cv::cuda::GpuMatND::operator =(cv::cuda::GpuMatND &&)' : is not a special member function which can be defaulted
这里的问题是什么?
正如人们在评论中指出的那样,Visual C++Express 2013是一个非常古老的编译器,它几乎不支持C++11的一小部分(可能只有C++03或更低(。因此,它抱怨noexcept
异常规范。第二个错误可能是第一个错误的副作用。唯一的解决方法是使用更新的编译器,这意味着你可能还必须获得项目依赖项的更新版本。