我是 Eclipse 的初学者。我现在拥有在 Windows 7 上运行的带有 OpenCV 库的 Eclipse C/C++ IDE。到目前为止,它在花费数小时试图让它运行后工作。但是后来我意识到Eclipse在调试时不会像VS2010那样弹出命令提示符。而且 Eclipse 的 Debug模式只是停留在那里并且拒绝输出任何东西。但是如果代码不涉及 OpenCV 的东西它再次工作。
下面是我用来测试的代码。它从网络摄像头捕获图像并将其输出到屏幕。无限循环(直到您按下“q”)确保它不断从相机获取新输入。
我浏览了工作区并运行了刚刚编译的 exe,它运行得非常完美。所以我不认为代码有什么问题(无论如何这是一个示例代码
简而言之,我可以在 Debug模式下只弹出一个命令提示符窗口吗?为什么当代码涉及一些 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;
}
最佳答案
这是因为你已经将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 的文件夹
关于windows - Eclipse Debug模式下的命令提示符? (OpenCV + Eclipse + Win7),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5840290/