我是Eclipse的初学者。我现在拥有在Windows 7上运行的带有OpenCV库的Eclipse C / C ++ IDE。到目前为止,它在花费数小时试图让它运行之后才能工作。但后来我意识到Eclipse不会弹出命令提示符,因为VS2010在调试时会这样做。此外,Eclipse的调试模式只是停留在那里而拒绝输出任何内容。但是,如果代码不涉及OpenCV的事情,它会再次起作用。
以下是我用于测试的代码。它从网络摄像头捕获图像并将其输出到屏幕。无限循环(直到你按'q')确保它不断地从摄像机抓取新的输入。
我浏览了工作区并运行刚刚编译的exe,它运行得很完美。所以我认为代码中没有任何错误(无论如何它是一个示例代码
简而言之,我可以在调试模式下弹出命令提示符窗口吗?当代码涉及一些OpenCV函数时,为什么Eclipse控制台会卡住?
#include <stdio.h>
#include <stdlib.h>
#include <tchar.h>
#include <cv.h>
#include <cxcore.h>
#include <highgui.h>
#include <iostream>
int _tmain(int argc, _TCHAR* argv[])
{
CvCapture *capture = 0;
IplImage *frame = 0;
int key = 0;
/* initialize camera */
capture = cvCaptureFromCAM( 0 );
/* always check */
if ( !capture ) {
printf("Cannot open initialize webcam!\n");
return 1;
}
/* create a window for the video */
cvNamedWindow( "result", CV_WINDOW_AUTOSIZE );
while( key != 'q' ) {
/* get a frame */
frame = cvQueryFrame( capture );
/* always check */
if( !frame ) break;
/* display current frame */
cvShowImage( "result", frame );
/* exit if user press 'q' */
key = cvWaitKey( 1 );
}
/* free memory */
cvDestroyWindow( "result" );
cvReleaseCapture( &capture );
return 0;
}
答案 0 :(得分:1)
这是因为您已经将Windows 7系统变量PATH设置为MinGw / bin和已编译的opencv bin目录。因此,当您从文件夹运行程序时,系统会自动从其PATH中获取所需的二进制文件,并且程序可以正常运行。
我不知道为什么但Eclipse不直接从系统环境PATH变量中获取它。所以我们必须自己设置它。
go to Preferences > C/C++ (Expand it) > Environment > Add:
"Name:PATH"
"Value:C:\MinGW\bin;C:\opencv_MinGW\bin"
其中opencv_MinGW是我编译opencv的文件夹