找回密码
 立即注册
岁月轻狂 该用户已被删除
发表于 2013-4-24 15:27:54
14556
本帖最后由 岁月轻狂 于 2013-4-24 15:27 编辑

各位版主好:

   之前写好的基于上述环境的CUDA程序在debug和release下编译和执行都没问题,结果正确,但是现在想今天确发现它只能在debug下执行了,而在release下编译成功,执行错误,并且错误的部分是一段opencv代码:
  1. Mat Gen_sensing_matrix_mat(Mat y)
  2. {  //Create the coded mask temp to return based on the input mixing spectral image x
  3.         int col=y.cols-bands+1;
  4.         int row=y.rows;
  5.         Mat temp=Mat::zeros(row,col,CV_8UC1);//这句代码出错
  6.         randu(temp, Scalar::all(0), Scalar::all(2));
  7.         temp.convertTo(temp,CV_32FC1);
  8.         return temp;
  9. }
复制代码

错误位置如代码中所示:

为了便于发现问题,我把cuda相关的程序代码删除,只保留了opencv相关的代码,发现当我把*.cu文件的
项类型由cuda c++改为 c++编译器时,opencv相关的这段代码在debug和release下均可执行正确:



这里debug和release分别包含相应的*.lib;

辛苦斑竹帮忙分析一下,谢谢了




本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
使用道具 举报 回复
发表于 2013-4-24 16:00:29
使用道具 举报 回复 支持 反对
发表于 2013-4-24 21:31:51
楼主您好,我不是C++和opencv用户,请其他会员、版主、NVIDIA技术支持、总版主给予回复。
使用道具 举报 回复 支持 反对
发表于 2013-4-26 11:05:53
横扫千军 发表于 2013-4-24 21:31
楼主您好,我不是C++和opencv用户,请其他会员、版主、NVIDIA技术支持、总版主给予回复。 ...

嗯,谢谢斑竹!!!
使用道具 举报 回复 支持 反对
发表于 2013-4-26 17:42:16
楼主您好,因为您的问题长期没有会员、版主、NVIDIA技术支持、总版主回答,现移动到灌水专区。希望理解。
使用道具 举报 回复 支持 反对
发表于 2013-4-26 19:33:36
横扫千军 发表于 2013-4-26 17:42
楼主您好,因为您的问题长期没有会员、版主、NVIDIA技术支持、总版主回答,现移动到灌水专区。希望理解。 ...

嗯,明白
使用道具 举报 回复 支持 反对
发表于 2013-5-11 17:34:07
学习学习
使用道具 举报 回复 支持 反对
发新帖
您需要登录后才可以回帖 登录 | 立即注册

zzczczxczxczx