문제점해결

error LNK2019: _Direct3DCreate9@4 외부 기호(참조 위치: "void __cdecl init(void)" (?init@@YAXXZ) 함수)에서 확인하지 못했습니다

예쁜꽃이피었으면 2014. 7. 29. 23:54

VS2010에  openCV를 빌드하려고하는데

 

 

1>------ 빌드 시작: 프로젝트: opencv2010, 구성: Debug Win32 ------
1>빌드 시작: 2014-07-21 오후 4:47:18
1>InitializeBuildStatus:
1>  "Debug\opencv2010.unsuccessfulbuild"에 연결(touching)하고 있습니다.
1>ClCompile:
1>  test.cpp
1>c:\opencv-2.4.6-windows\build\include\opencv2\flann\dist.h : warning C4819: 현재 코드 페이지(949)에서 표시할 수 없는 문자가 파일에 들어 있습니다. 데이터가 손실되지 않게 하려면 해당 파일을 유니코드 형식으로 저장하십시오.
1>c:\opencv-2.4.6-windows\build\include\opencv2\flann\dist.h : warning C4819: 현재 코드 페이지(949)에서 표시할 수 없는 문자가 파일에 들어 있습니다. 데이터가 손실되지 않게 하려면 해당 파일을 유니코드 형식으로 저장하십시오.
1>c:\opencv-2.4.6-windows\build\include\opencv2\flann\dist.h : warning C4819: 현재 코드 페이지(949)에서 표시할 수 없는 문자가 파일에 들어 있습니다. 데이터가 손실되지 않게 하려면 해당 파일을 유니코드 형식으로 저장하십시오.
1>c:\opencv-2.4.6-windows\build\include\opencv2\flann\dist.h : warning C4819: 현재 코드 페이지(949)에서 표시할 수 없는 문자가 파일에 들어 있습니다. 데이터가 손실되지 않게 하려면 해당 파일을 유니코드 형식으로 저장하십시오.
1>ManifestResourceCompile:
1>  모든 출력이 최신 상태입니다.
1>test.obj : error LNK2019: _cvReleaseImage 외부 기호(참조 위치: _main 함수)에서 확인하지 못했습니다.
1>test.obj : error LNK2019: _cvWaitKey 외부 기호(참조 위치: _main 함수)에서 확인하지 못했습니다.
1>test.obj : error LNK2019: _cvShowImage 외부 기호(참조 위치: _main 함수)에서 확인하지 못했습니다.
1>test.obj : error LNK2019: _cvLoadImage 외부 기호(참조 위치: _main 함수)에서 확인하지 못했습니다.
1>C:\uk1\vb2010\opencv2010\Debug\opencv2010.exe : fatal error LNK1120: 4개의 확인할 수 없는 외부 참조입니다.
1>
1>빌드하지 못했습니다.
1>
1>경과 시간: 00:00:01.80
========== 빌드: 성공 0, 실패 1, 최신 0, 생략 0 ========== 

 

 

 

이런 에러가 난다.

해결책으로는

 

main대신에 tmain을 해보라는데 여전히 난다.

 

또 하나는.

소스 맨위에

#pragma comment(lib,"vfw32.lib")

이렇게 하거나

 

#pragma comment(lib,"Vfw32.lib")

 

이렇게 해보라고한다.

 

 

근데.. 여전하다.. 일관성있는 VS

 

 

 

 

방법 하나더

http://blog.naver.com/meanless44?Redirect=Log&logNo=220004557554

 

프로젝트 - 속성 - 구성속성 = 링커 - 시스템 - 하위시스템 tjfwjdqusrud

메인함수를 WinMain()으로변경

 

 

 

 

http://blog.daum.net/crexy/11051515 

 

error LNK2019: _Direct3DCreate9@4 외부 기호(참조 위치: "void __cdecl init(void)" (?init@@YAXXZ) 함수)에서 확인하지 못했습니다

 

 

다이렉트 X 세팅을 비주얼 스튜디오에서 마친 후 코드를 컴파일 시키면 위와 같은 에러가 발생하였다면

 

원인 중 하나는 다이렉트X 라이브러리를 x64로 선택하였기 때문이다.

 

즉 64비트 환경에서 작업을 해서 당연히 라이브러리도 x64비트로 선택하는 줄 알고 선택하였다가 발생하는 에러다

 

 라이브러리 디렉토리를 x86으로 선택하자~~!



 

 

 

반응형