简单了解C++常见编程问题解决方案

电脑配置:window10, 64位操作系统,基于x64的处理器,Microsoft Visual Studio Community 2019Version 16.4.5

问题1:Unhandled exception at 0x00007FFDB39AA839 in TesseractLACadd1.exe: Microsoft C++ exception: boost::filesystem::filesystem_error at memory location 0x000000EAFABFEED0.

解决方案:我只能说,这个的错误原因千姿百态。因为至今为止我遇到了两次类似的提示错误,每次的解决方案都不相同,所以还要具体情况具体分析。

第一次:第一次遇到这个错误提示是因为编译的时候遇到中文,这里我是在读取文件的时候读取的是中文名称的文件所以出错,所以我认为目前最好的解决方案就是把中文名称改成英文。

第二次:在我用 opencv 生成了一个三通道的全零像素图片,然后再这个图片上找了一个 ROI 区域,然后把另外一张二维图片的内容 copyTo 这个生成图片的时候,因为维度的不同而造成这个提示错误。我发现虽然 Error List 里面看不到错误提示,但是在控制台上我发现了错误提示,进而才明白错误的原因,如下图所示。所以大家可以注意下,虽然 Error List 没有错误提示,但是控制台可能有,所以大家可以去控制台看下是否有错误原因然后再修改。

简单了解C++常见编程问题解决方案_第1张图片

问题2:Unhandled exception at 0x00007FFA5514A859 in TesseractLACadd1.exe: Microsoft C++ exception: cv::Exception at memory location 0x000000D3592FD560.

解决方案:问题1已经说了,当出现类似这种问题的时候,要去看控制台的提示信息,我的控制台出现以下信息:

in __cdecl cv::impl::`anonymous-namespace'::CvtHelper,struct cv::impl::A0xe090d7c8::Set<3,4,-1>,struct cv::impl::A0xe090d7c8::Set<0,2,5>,2>::CvtHelper(const class cv::debug_build_guard::_InputArray &,const class cv::debug_build_guard::_OutputArray &,int), file D:\software\vcpkg\buildtrees\opencv4\src\4.1.1-fb9e10326a\modules\imgproc\src\color.simd_helpers.hpp, line 92

因为我运行了以下代码:

     Mat imageCanva(imageWidth, imageHeight, CV_8UC2, Scalar(0, 0, 0));
     namedWindow("canva", WINDOW_FREERATIO);
     imshow("canva", imageCanva);
     waitKey(0);

原因是因为我要显示 imageCanva ,但是却把它设置为CV_8UC2,所以解决方案就是 CV_8UC2 改成 CV_8UC3 问题就解决啦。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

你可能感兴趣的:(简单了解C++常见编程问题解决方案)