Командная строка в режиме отладки для Eclipse? (OpenCV + Eclipse + Win7) - PullRequest
1 голос
/ 30 апреля 2011

Я новичок в Eclipse. Теперь у меня есть Eclipse C / C ++ IDE с библиотекой OpenCV, работающей на Windows 7. До сих пор она работает после нескольких часов попыток запустить ее. Но потом я понимаю, что Eclipse не выдает командную строку, как VS2010 во время отладки. Более того, режим отладки Eclipse просто застревает там и отказывается что-либо выводить. Но если код не задействует OpenCV, он снова работает.

Ниже приведен код, который я использую для тестирования. Он захватывает изображения с веб-камеры и выводит их на экран. Бесконечный цикл (до тех пор, пока вы не нажмете 'q') гарантирует, что он постоянно захватывает новые входы с камеры.

Я просмотрел рабочее пространство и запустил только что скомпилированный exe, и он работал безупречно. Так что я не думаю, что в коде что-то не так (в любом случае это пример кода

Вкратце, можно ли просто открыть окно командной строки в режиме отладки? И почему консоль Eclipse застревает, когда код включает в себя некоторые функции OpenCV?

#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;
}

1 Ответ

1 голос
/ 01 декабря 2011

Это потому, что вы уже установили системную переменную 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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...