OpenCV构建正常,调试抛出错误,从.exe运行良好
OpenCV Build ok, debug throws error, runs fine from .exe
使用Visual Studio 2010、OpenCV 2.2.2、Windows 7 64x
我的代码成功构建,然后当它进入调试时,我得到以下错误:
First-chance exception at 0x75f0c41f in MachineVisionHW0.exe: Microsoft C++ exception: cv::Exception at memory location 0x002dec90..
Unhandled exception at 0x75f0c41f in MachineVisionHW0.exe: Microsoft C++ exception: cv::Exception at memory location 0x002dec90..
然后我结束调试,转到文件目录并运行构建的可执行文件,它运行良好。有人知道怎么解决这个问题吗?它并没有阻止我构建代码,但它非常不方便。我将在下面包含一个执行此操作的代码示例。
int main(){
cv::Mat image1 = cv::imread("img1.JPG", CV_LOAD_IMAGE_GRAYSCALE);
cv::namedWindow("Sample1");
cv::imshow("Sample1", image1);
cv::waitKey(0);
return 1;
}
在main之前是否得到未处理的异常?
如果没有,那么您的代码正在以某种方式引发异常。在第一行上放一个断点,然后点击F5,然后在断点处一次,一次一行地遍历代码,看看是哪一个导致了异常,F10键执行此操作。
我的直觉是,当从调试器运行时,cv::imread
失败了,因为它没有从预期的位置找到img1.jpg,当前的工作目录是解决方案文件的目录,而不是调试输出构建目录的目录。你可以做一个快速测试,将img1..jpg复制到包含sln文件的目录中,看看这是否解决了问题。
相关文章:
- 在Windows中以.exe的形式运行c++
- 获取当前正在运行的 exe 名称(不是路径)
- 使用参数在 C# 的C++上运行.exe
- 父进程意外被子 cmd 杀死.exe运行 java jar 的进程 - WINDOWS 7 问题 - C++
- 在 Linux 上没有 /proc/self/exe 的 C/C++ 运行时可执行文件的大小?
- 从 c++ 运行 MsiExec.exe?窗户
- C++程序编译器在使用g++命令编译后自动运行exe文件
- 如何将我的程序转换为.dll文件并使用rundll32.exe在cmd中运行它?
- 在位置上运行具有依赖项的.exe文件
- 将简单的 exe 运行到运行 Microsoft/WindowsServerCore 的 docker 容器中
- 程序'main.exe'运行失败:指定的可执行文件不是此操作系统平台的有效应用程序
- 没有一个Inspect.exe,magnify.exe,nardator.exe运行
- 从另一个 exe 运行 Exe
- 更准确的计时器,用于测量来自 Python 的外部.exe运行时
- OpenCV构建正常,调试抛出错误,从.exe运行良好
- Qt Creator+OpenCV:程序从.exe运行,但不从编辑器运行
- 我可以从带有参数的exe运行DLL吗?
- 在IDE中运行程序和通过.exe运行程序之间有重要的区别吗?
- 是否可以在setup.exe运行时创建环境变量
- exe运行后停止工作