我在Windows 8上使用OpenCV 2.4.13和MinGW 4.9。
我编写了一个简单而小的opencv程序来检查是否一切都安装正确。代码如下:
#include <opencv2/highgui/highgui.hpp>
int main () {
printf("in mainn");
for (int i = 0; i<10; i++) {
printf("heren");
IplImage * image = cvLoadImage("C:/{...}/test.jpg");
cvReleaseImage(&image);
}
return 0;
}
我在命令提示符下用以下命令编译它:
g++ -o test test.cpp -LC:{...}opencvbuildx64vc11lib -lopencv_core2413 -lopencv_highgui2413 -IC:{...}opencvbuildinclude
{…}是指定文件夹/文件的路径。
该命令运行正常,编译成功,没有任何错误。但是,当我使用:
运行它时test
in main
和一个here
打印后,我得到错误消息为"test.exe已停止工作。"Windows正在寻找解决方案。
What all I have try:
- 对于OpenCV的安装,运行下载的OpenCV可执行文件(提取所有文件),并添加系统变量OPENCV_DIR并编辑dll位置的系统路径(位于%OPENCV_DIR%bin中),如下:
http://docs.opencv.org/2.4/doc/tutorials/introduction/windows_install/windows_install.html installation-by-using-the-pre-built-libraries - 尝试将所需的dll添加到与.exe相同的目录中。
- 尝试在vc12目录下做所有事情。
- 出现错误消息后,它提供了一个调试选项。按下该键,Just In Time调试器打开并显示"test.exe中出现未处理的win32异常"。我在谷歌上搜索了一下,并尝试按照这里的指示检查注册表项
https://support.microsoft.com/en-us/kb/811191
但它已经设置好了。所以,我没有什么可以改变的。
什么都不适合我。如果需要更多的信息,请告诉我。
对于那些可能遇到同样问题的人,我用OpenCV动态(.dll
)库而不是.lib
文件编译程序,并且由于某种原因,它在运行时运行得很好。