windows - Eclipse Debug模式下的命令提示符? (OpenCV + Eclipse + Win7)

标签 windows eclipse opencv

我是 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/

相关文章:

java - 在opencv java包装器中使用方法convertTo

opencv - RGB转灰度

java - 如何在 Windows 操作系统中使用 Runtime.exex() 从单个类的单独命令窗口中调用多个 java 程序?

java - 使用单独的冒泡排序类根据 double 字段对对象进行排序

java - 将 While 循环与 g.drawPolygon 代码结合使用

Python OpenCV video.get(cv2.CAP_PROP_FPS) 返回 0.0 FPS

Linux 上的 Java Paths.get() 奇怪行为

windows - 在 Visual Studio Code 中更改工作区目录

windows - 处于阻塞模式时的套接字行为

java - Eclipse 和 Maven 之间类型转换的不同编译行为