2016-07-07 11 views
-1

일부 추가 라이브러리 인 OpenCV 및 기타 파일을 사용하는 Visual Studio 2013에서 프로젝트를 빌드하려고합니다. 프로젝트를 빌드 할 때 성공했지만 생성 된 실행 파일을 실행하면 오류 코드가 제공되지 않아 중단되었습니다. 그래서 나는 빌딩 중 Visual Studio의 윈도우 디버거 모드을 사용했다.opencv_world300d.dll '. PDB 파일을 찾을 수 없거나 열 수 없습니다.

'static_input.exe' (Win32): Loaded 'C:\Users\amy\Downloads\clandmark- master\clandmark\build\examples\Debug\static_input.exe'. Symbols loaded. 
'static_input.exe' (Win32): Loaded 'C:\Windows\System32\ntdll.dll'. Symbols loaded. 
'static_input.exe' (Win32): Loaded 'C:\Windows\System32\kernel32.dll'. Symbols loaded. 
'static_input.exe' (Win32): Loaded 'C:\Windows\System32\KernelBase.dll'. Symbols loaded. 
'static_input.exe' (Win32): Loaded 'C:\Windows\System32\shell32.dll'. Symbols loaded. 
'static_input.exe' (Win32): Loaded 'C:\Windows\System32\msvcrt.dll'. Symbols loaded. 
'static_input.exe' (Win32): Loaded 'C:\Windows\System32\shlwapi.dll'. Symbols loaded. 
'static_input.exe' (Win32): Loaded 'C:\Windows\System32\gdi32.dll'. Symbols loaded. 
'static_input.exe' (Win32): Loaded 'C:\Windows\System32\user32.dll'. Symbols loaded. 
'static_input.exe' (Win32): Loaded 'C:\Windows\System32\lpk.dll'. Symbols loaded. 
'static_input.exe' (Win32): Loaded 'C:\Windows\System32\usp10.dll'. Symbols loaded. 
'static_input.exe' (Win32): Loaded 'C:\opencv\build\x86\vc12\bin\opencv_world300d.dll'. Cannot find or open the PDB file. 
'static_input.exe' (Win32): Unloaded 'C:\opencv\build\x86\vc12\bin\opencv_world300d.dll' 
The program '[5124] static_input.exe' has exited with code -1073741701 (0xc000007b). 

지금 체크 한 : 도구 -> 옵션 -> Debugging-> 기호 및 "Microsoft 기호 서버"상자에 선택 체크, 마크로드 된 모든 모듈과 나에게 다음과 같은 오류를 준 그런 다음 모든 심볼로드를 클릭하십시오. 내가 opencv_world300d.dll 에 대한 PDB 파일이 사전 포장 버전으로 제공되지 않는 해결책을 발견

opencv_world300d.dll'. Cannot find or open the PDB file 

이 문제에 대해 검색 할 때 answer

에서 찾을 수 있으며,이를 위해 나는 소스에서 OpenCV의를 구축해야. 오랜 시간 동안 검색 한 후에는 혼자서 제작하기로 결심했으며 OpenCV를 소스에서 빌드하고 성공적으로 빌드했습니다. 그것은 약 56 프로젝트를 구축합니다.

은 그러나 많은 라이브러리가 아니라 필요한 일이 있습니다 opencv_world300d

이름의 PDB 또는 DLL 파일이 없습니다. 나는 지금 붙어서 내 문제에 대응할 수 없다. 도와주세요!

Opencv_world을 opencv_world 무엇

라이브러리 파일을로 OpenCV의 모든 것을 팩 dll을 수 있습니다 : opencv_world에 대한 몇 가지 혼란이있을 것 같습니다으로

+0

PDB가 발견되지 않으면 일반적으로 정보 메시지이며 오류는 아닙니다. 가지고있는 실제 런타임 오류와 관련 소스 코드를 보여줄 수 있습니다. –

+0

@RogerRowland 해결해야 할 링커 오류입니다. 그것은 런타임에 제공됩니다. 그것은 당신에게 오류로 보일지 모르지만 프로그램이 충돌하는 주요 원인입니다. – Mavie

+0

링크는 런타임 기능이 아니며 런타임에 PDB가 필요하지 않습니다. 나는 이것이 당신의 문제의 원인이라고 생각하지 않는다. 그러나 나는 틀릴 수도있다. (나는 단지 39 년 동안 소프트웨어를 작성 해왔다.) –

답변

3

, 어떤 설명으로 시작할 수 있습니다. 좋은 점은 프로젝트 파일에 10 개 또는 12 개의 라이브러리가 아닌 하나의 라이브러리 만 포함하면된다는 것입니다.

opencv_world을 구축하는 방법

cmake이 옵션 BUILD_opencv_world을 활성화하고는 opencv_world.dll를 얻기 위해 잘 구축해야합니다 사용하여 빌드를 구성. 이것은 opencv_world.pdb를 제공해야합니다.

opencv_world가 필요합니까?

아니요! opencv_world가 없어도 원하는 개별 모듈을 간단하게 사용할 수 있습니다. 따라서 opencv_world.dll을 사용하지 않으려면 opencv_world pdb가 필요 없습니다. PDB 파일이며, 무엇을

나는이 필요하다고

PDB (program database) 파일이 디버그 정보를 포함 Microsoft에서 사용하는 독점 파일 형식입니다.DLL 내부에서 코드를 디버깅 할 필요가 없다면 필요하지 않습니다. 프로그램에서 충돌을 찾을 때 유용합니다.