具有OpenCV发行模式的Visual Studio 2013构建成功,但运行失败

时间:2018-10-23 10:00:28

标签: visual-studio-2013 release

我的问题是,当我以发布模式运行程序时,它可以构建并可以启动, 但是当涉及到写入时,就会出现访问冲突错误。但是当我以Debug模式运行程序时,不会有错误。

我做了什么:

  
      
  1. 将opencv / build / include / x64 / vc12 / bin添加到系统路径

  2.   
  3. 在VC ++目录的包含目录中添加了以下文件夹

  4.   
     

opencv / build / include

     

opencv / build / include / opencv

     

opencv / build / include / opencv2

     
      
  1. 在C / C ++->常规->包含的其他目录添加了其他第三方libs文件夹

  2.   
  3. 在链接器->输入->其他依赖项添加了lib(不带d),例如:opencv_highgui2410.lib等

  4.   

错误来自以下代码。

int SavePictures(IplImage* tmp_img)
{
    Mat tmp_mat=cv::caarrToMat(tmp_img,false);
    cv::imwrite("test.jpg",tmp_mat);
    return 1;
}

每次写入时,都会出现访问冲突错误。在将调试信息添加到发布模式之后,我发现什么时候进入了imwrite,它将首先转到以下内容。

_Myt& assign(const _Elem*_ptr,size_type _Count)
{//asaign [_Ptr, _Ptr+_Count)
#if _ITERATOR_DEBUG_LEVEL==2
    if(_Count!=0)
    _DEBUG_PONTER(_Ptr);
    #endif
    if(_Inside(_Ptr))
        return (assign(*this,_Ptr - this->_Myptr(),_Count));
    if(_Grow(_Count))
    {
        _Traits::copy(this->_Myptr(),_Ptr,_Count);
        _Eos(_Count);
    }
return (*this);
}

,它进入_Grow if语句,然后返回。 并在下一步执行访问冲突。 有人可以给我任何建议吗?我会很感激的!

非常感谢

0 个答案:

没有答案