2011-04-30 3 views
1

저는 Eclipse의 초보자입니다. 이제는 Windows 7에서 실행되는 OpenCV 라이브러리가있는 Eclipse C/C++ IDE가 있습니다. 지금까지는 실행 시간을 소비 한 후 작동합니다. 그런데 Eclipse가 VS2010이 디버깅하는 동안 명령 프롬프트를 팝업하지 않는다는 것을 알았습니다. 게다가 Eclipse의 디버그 모드는 거기에 머물러있어 아무 것도 출력하지 않습니다. 그러나 코드가 OpenCV를 포함하지 않는다면 다시 작동합니다.Eclipse 용 디버그 모드의 명령 프롬프트? (OpenCV + Eclipse + Win7)

다음은 테스트 용 코드입니다. 웹캠에서 이미지를 캡처하여 화면에 출력합니다. 무한 루프 ('q'키를 누를 때까지)가 카메라의 새로운 입력을 끊임없이 받아들입니다.

나는 작업 영역을 탐색하고 방금 컴파일 된 exe를 실행하여 완벽하게 작동했습니다. 그래서 코드에 문제가 있다고 생각하지 않습니다. (어쨌든 예제 코드 일뿐입니다.)

간단히 말해서 디버그 모드에서 명령 프롬프트 창을 팝업 할 수 있습니까? 그리고 코드에 OpenCV가 포함될 때 Eclipse 콘솔이 멈추는 이유는 무엇입니까? 이미 OpenCV의 빈 디렉토리를 사용자는 MinGW/빈에 윈도우 7 시스템 변수 PATH를 설정하고 컴파일하기 때문에 기능?

#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

흠 나는 많은 이클립스를 사용 OpenCV의 프로젝트를 개발 확신 내에서 OpenCV를 컴파일 폴더입니다

 go to Preferences > C/C++ (Expand it) > Environment > Add: "Name:PATH" "Value:C:\MinGW\bin;C:\opencv_MinGW\bin" 

. 나는 정말로 내가 약간의 도움을 사용할 수 있기를 바란다. – Anthony

답변

1

이것은 당신의 폴더에서 프로그램을 실행할 때 그래서 시스템이 자동에서 필요한 바이너리을.이다 그 PATH 및 프로그램이 올바르게 실행됩니다.

왜 그런지 모르겠지만 Eclipse는 그것을 받아들이지 않습니다. 시스템 환경 PATH 변수에서 직접. 그래서 우리는 스스로 해결해야합니다. opencv_MinGW 내가