2013-12-22 3 views
0

저는 OpenCV를 배우는 초보자입니다. 최신 버전 (2013 년 12 월 2 일, 2.4.7.2)을 사용하고 간단한 코드로 이미지를로드하려고합니다. 코드는 괜찮습니다. 그러나 컴파일하고 소스 코드를 실행하면 "opencv_core247d.dll이 없으므로 프로그램을 시작할 수 없습니다."라고 표시됩니다.OpenCV - DLL이 누락 되었습니까?

이미 컴퓨터 환경을 변경하고 여러 가지 제안에 따라 솔루션에 해당하는 모든 경로 설정을 시도했습니다. 나는 PC 재부팅을 시도하고, "Missing file"을 내 소스 코드의 Debug 파일에 추가하고, CMake로 다뤄 봤다. (다행스럽게도 아무 것도 생성하지 못했고, 다음 질문에 대해서는 추측한다.); 문제가 지속됩니다.

그래서이 문제를 해결할 수있는 바보 같은 간단한 방법이 있습니까? 고맙습니다.


# include "highgui.h" 

int main (int argc, char** argv) 
{ 

    IplImage* img = cvLoadImage("D:\\OpenCV Test\\LoadImage\\fruits.jpg") ; 
    cvNamedWindow("Fuits", CV_WINDOW_AUTOSIZE) ; 
    cvShowImage("Fuits", img) ; 
    cvWaitKey(0) ; 
    cvDestroyWindow("Fruits") ; 
    cvReleaseImage (&img) ; 
} 

답변

0

환경 변수가 제대로 설정되어 있는지 확인 (즉, Path../opencv/bin/이 있어야합니다) 다음을 생성하기 위해 CMakeList 파일에이 라인을 사용 : BTW, 여기 내 작은 소스 코드 적절한 프로젝트 파일.

FIND_PACKAGE(OpenCV REQUIRED) 
TARGET_LINK_LIBRARIES(myProject ${OpenCV_LIBS}) 
1

당신은 here 유사 OpenCV의 DLL이 문제으로 실행하고 있습니다. OpenCV에 관한 dll 관련 문제를 해결하는 세 가지 방법은 다른 dll 관련 문제에도 적용됩니다.

  1. 필요한 dll을 응용 프로그램과 같은 폴더에 복사하십시오. OpenCV가 설치되지 않은 시스템에 응용 프로그램을 배포해야하는 경우 (응용 프로그램의 릴리스 버전을 만드는 것을 잊지 마시기 바랍니다)에 준비하기 때문에 조금 더 낫습니다.

  2. dll 경로를 Debugging Environment에 추가하십시오. 프로젝트 -> 등록 정보 -> 구성 등록 정보 -> 디버깅 -> 환경 -> dll 경로를 여기에 추가하십시오. 구문은 = VALUE 및 매크로를 사용할 수 있습니다 NAME (예를 들어, $ (OUTDIR)

    • 예를 들어, C 씁니다 :.는 PATH에 \ WINDOWS \ 온도를 : PATH = C : \ WINDOWS \ 온도 ((SolutionDir) $ \ DLLS

  3. Environment Variables에 DLL 경로를 추가; PATH = % 경로 %을 :; % 유사 PATH %의

  4. 경로에 $ (SolutionDir) \ DLLS를 추가 그곳의 경로가 ;으로 구분되어 있음을 유의하십시오.


편집 : 세 가지 방법 중 처음 두는이 프로젝트 (지역)과 마지막을 위해 작동 할 당신의 PC (글로벌)의 모든 프로젝트에 적용됩니다.

1

문제가 있습니다. win7-64bit 및 visual studio 2013 및 opencv-3을 보유하고 있습니다.

opencv_word300d.dll이 컴퓨터에 없기 때문에 프로그램을 시작할 수 없습니다. 프로그램을 다시 설치하여 문제를 해결하십시오.

+0

이 DLL은 Visual Studio에서 최종 exe 파일을 저장하는 위치와 동일한 폴더에 복사하거나 Windows 시스템 폴더에 추가해야합니다 (권장하지 않음). dll은 opencv-3 폴더에서 찾을 수 있습니다 ... 그렇지 않다면 opencv 소스에서 직접 컴파일해야합니다. –

1

팁으로 링커의 마지막 세 자리에 실제 dll 파일과 동일한 숫자가 포함되어 있는지 확인하십시오. 예 : 버전 3.2.0은 320.dll 등으로 작성되어야합니다

+1

이것은 아주 좋은 설명입니다. 하지만 대답은 아마 조금 얇은 IMHO ... 에 오신 것을 환영합니다. How [대답하는 방법] (https://stackoverflow.com/help/how-to-answer)을 읽으십시오. – Axel

관련 문제