Debug Assertion Failes
我正在编写一个C++代码,使用OpenCV集成在Visual Studio 2010中。我遵循本教程:
http://opencv-srf.blogspot.com/2013/06/load-display-image.html
但当我运行代码时,收到了以下错误消息:
这个报错程序:…文件:f:ddvctoolscrt_bldself_64_amd64crtsrcfopen.c线:54
表达式:(文件!=空)
有关程序如何导致断言的信息失败,请参阅断言上的VisualC++文档。
这是我的代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 | #include"opencv2/highgui/highgui.hpp" #include <iostream> using namespace cv; using namespace std; int main() { Mat im = imread("C:/Users/Ruaa/Pictures/aa.png"); if (im.empty()) { cout <<"Cannot load image!" << endl; return -1; } imshow("Image", im); waitKey(0); } 'test1.exe': Loaded 'C:\Users uaa\Documents\Visual Studio 2010\Projects\test1\x64\Debug\test1.exe', Symbols loaded. 'test1.exe': Loaded 'C:\Windows\System32 tdll.dll', Cannot find or open the PDB file 'test1.exe': Loaded 'C:\Windows\System32\kernel32.dll', Symbols loaded (source information stripped). 'test1.exe': Loaded 'C:\Windows\System32\KernelBase.dll', Symbols loaded (source information stripped). 'test1.exe': Loaded 'C:\opencv1\opencv\build\x64\vc11\bin\opencv_core245d.dll', Cannot find or open the PDB file 'test1.exe': Loaded 'C:\Windows\System32\msvcp110d.dll', Symbols loaded (source information stripped). 'test1.exe': Loaded 'C:\Windows\System32\msvcr110d.dll', Symbols loaded (source information stripped). 'test1.exe': Loaded 'C:\opencv1\opencv\build\x64\vc11\bin\opencv_highgui245d.dll', Cannot find or open the PDB file 'test1.exe': Loaded 'C:\Windows\System32\user32.dll', Symbols loaded (source information stripped). 'test1.exe': Loaded 'C:\Windows\System32\gdi32.dll', Symbols loaded (source information stripped). 'test1.exe': Loaded 'C:\Windows\System32\lpk.dll', Symbols loaded (source information stripped). 'test1.exe': Loaded 'C:\Windows\System32\usp10.dll', Symbols loaded (source information stripped). 'test1.exe': Loaded 'C:\Windows\System32\msvcrt.dll', Symbols loaded (source information stripped). 'test1.exe': Loaded 'C:\Windows\System32\ole32.dll', Symbols loaded (source information stripped). 'test1.exe': Loaded 'C:\Windows\System32 pcrt4.dll', Symbols loaded (source information stripped). 'test1.exe': Loaded 'C:\Windows\System32\oleaut32.dll', Symbols loaded (source information stripped). 'test1.exe': Loaded 'C:\Windows\System32\advapi32.dll', Symbols loaded (source information stripped). 'test1.exe': Loaded 'C:\Windows\System32\sechost.dll', Symbols loaded (source information stripped). 'test1.exe': Loaded 'C:\Windows\winsxs\amd64_microsoft.windows.common-controls_6595b64144ccf1df_5.82.7600.16661_none_a44e1fc257f685f6\comctl32.dll', Symbols loaded (source information stripped). 'test1.exe': Loaded 'C:\Windows\System32\msvfw32.dll', Symbols loaded (source information stripped). 'test1.exe': Loaded 'C:\Windows\System32\winmm.dll', Symbols loaded (source information stripped). 'test1.exe': Loaded 'C:\Windows\System32\shell32.dll', Symbols loaded (source information stripped). 'test1.exe': Loaded 'C:\Windows\System32\shlwapi.dll', Symbols loaded (source information stripped). 'test1.exe': Loaded 'C:\Windows\System32\avifil32.dll', Symbols loaded (source information stripped). 'test1.exe': Loaded 'C:\Windows\System32\msacm32.dll', Symbols loaded (source information stripped). 'test1.exe': Loaded 'C:\Windows\System32\avicap32.dll', Symbols loaded (source information stripped). 'test1.exe': Loaded 'C:\Windows\System32\version.dll', Symbols loaded (source information stripped). 'test1.exe': Loaded 'C:\Windows\System32\msvcr100.dll', Symbols loaded. 'test1.exe': Loaded 'C:\Windows\System32\msvcp100.dll', Symbols loaded. 'test1.exe': Loaded 'C:\Windows\System32\imm32.dll', Symbols loaded (source information stripped). 'test1.exe': Loaded 'C:\Windows\System32\msctf.dll', Symbols loaded (source information stripped). Debug Assertion Failed! Program: ...cuments\visual studio 2010\Projects\test1\x64\Debug\test1.exe File: f:\dd\vctools\crt_bld\self_64_amd64\crt\src\fopen.c Line: 54 Expression: (file != NULL) For information on how your program can cause an assertion failure, see the Visual C++ documentation on asserts. (Press Retry to debug the application) 'test1.exe': Loaded 'C:\Windows\System32\uxtheme.dll', Symbols loaded. 'test1.exe': Loaded 'C:\Windows\System32\dwmapi.dll', Symbols loaded (source information stripped). 'test1.exe': Loaded 'C:\Windows\System32\cryptbase.dll', Symbols loaded (source information stripped). The program '[4984] test1.exe: Native' has exited with code 3 (0x3). |
这是调用堆栈:
1 2 3 4 5 6 7 8 9 | msvcr110d.dll!fopen() + 0x23 bytes opencv_highgui245d.dll!000007feea737ea8() [Frames below may be incorrect and/or missing, no symbols loaded for opencv_highgui245d.dll] opencv_highgui245d.dll!000007feea73a725() opencv_highgui245d.dll!000007feea73a5f1() > test1.exe!main() Line 10 + 0x3d bytes C++ test1.exe!__tmainCRTStartup() Line 555 + 0x19 bytes C kernel32.dll!BaseThreadInitThunk() + 0xd bytes ntdll.dll!0000000077752ca1() |
这里有两个问题: