opencv2.4.4 visual studion 2012 Не удается найти или открыть файл PDB
Я запускаю программу с использованием opencv libraray и VS2012. Я использую Windows 7 64 бит, поэтому я изменил диспетчер конфигурации на x64 через свойства проекта. В переменной окружения моей системы я сначала сделал эти записи из командной строки:setx -m OPENCV_DIR C:\OpenCV\build
и добавил это в системный путь: %OPENCV_DIR%\build\x64\vc11\bin
В Visual Studio в диспетчере свойств я добавил следующие ссылки на папки к свойствам проекта:
- В C/C++, дополнительный каталог include, я добавил:
$(OPENCV_DIR)\include
- Под Linker, каталог дополнительных библиотек, я добавил;
$(OPENCV_DIR)\x64\vc10\lib;
Линкер, Ввод, дополнительные зависимости, я добавил следующее:
opencv_core244d.lib opencv_imgproc244d.lib opencv_highgui244d.lib opencv_ml244d.lib opencv_video244d.lib opencv_features2d244d.lib opencv_calib3d244d.lib opencv_objdetect244d.lib opencv_contrib244d.lib opencv_legacy244d.lib opencv_flann244d.lib opencv_gpu244d.lib opencv_nonfree244d.lib opencv_photo244d.lib opencv_stitching244d.lib opencv_ts244d.lib opencv_videostab244d.lib
когда я запускал свою программу, у меня была эта ошибка
"ConsoleApplication0.exe" (Win32): загружен "D:\configuration\ConsoleApplication0\x64\Debug\ConsoleApplication0.exe". Символы загружены. "ConsoleApplication0.exe" (Win32): загружен "C: \ Windows \ System32 \ ntdll.dll". Символы загружены. "ConsoleApplication0.exe" (Win32): загружен "C:\Windows\System32\kernel32.dll". Символы загружены. "ConsoleApplication0.exe" (Win32): загружен "C:\Windows\System32\KernelBase.dll". Символы загружены. "ConsoleApplication0.exe" (Win32): загружен "C:\opencv\build\x64\vc11\bin\opencv_core244d.dll". Не удается найти или открыть файл PDB. "ConsoleApplication0.exe" (Win32): загружен "C:\Windows\System32\msvcp110d.dll". Символы загружены. "ConsoleApplication0.exe" (Win32): загружен "C:\Windows\System32\msvcr110d.dll". Символы загружены. "ConsoleApplication0.exe" (Win32): загружен "C:\opencv\build\x64\vc11\bin\opencv_imgproc244d.dll". Не удается найти или открыть файл PDB. "ConsoleApplication0.exe" (Win32): загружен "C:\opencv\build\x64\vc11\bin\opencv_highgui244d.dll". Не удается найти или открыть файл PDB. "ConsoleApplication0.exe" (Win32): загружен "C:\Windows\System32\user32.dll". Символы загружены. "ConsoleApplication0.exe" (Win32): загружен "C:\Windows\System32\gdi32.dll". Символы загружены. "ConsoleApplication0.exe" (Win32): загружен "C:\Windows\System32\lpk.dll". Символы загружены. "ConsoleApplication0.exe" (Win32): загружен "C:\Windows\System32\usp10.dll". Символы загружены. "ConsoleApplication0.exe" (Win32): загружен "C:\Windows\System32\msvcrt.dll". Символы загружены. "ConsoleApplication0.exe" (Win32): загружен "C: \ Windows \ System32 \ ole32.dll". Символы загружены. "ConsoleApplication0.exe" (Win32): загружен "C:\Windows\System32\rpcrt4.dll". Символы загружены. "ConsoleApplication0.exe" (Win32): загружен "C:\Windows\System32\oleaut32.dll". Символы загружены. "ConsoleApplication0.exe" (Win32): загружен "C:\Windows\System32\advapi32.dll". Символы загружены. "ConsoleApplication0.exe" (Win32): загружен "C:\Windows\System32\sechost.dll". Символы загружены. "ConsoleApplication0.exe" (Win32): загружен "C:\Windows\winsxs\amd64_microsoft.windows.common-controls_6595b64144ccf1df_5.82.7601.17514_none_a4d6a923711520a9\comctl32.dll". Символы загружены. "ConsoleApplication0.exe" (Win32): загружен "C:\Windows\System32\msvfw32.dll". Символы загружены. "ConsoleApplication0.exe" (Win32): загружен "C: \ Windows \ System32 \ winmm.dll". Символы загружены. "ConsoleApplication0.exe" (Win32): загружен "C:\Windows\System32\shell32.dll". Символы загружены. "ConsoleApplication0.exe" (Win32): загружен "C:\Windows\System32\shlwapi.dll". Символы загружены. "ConsoleApplication0.exe" (Win32): загружен "C:\Windows\System32\avifil32.dll". Символы загружены. "ConsoleApplication0.exe" (Win32): загружен "C: \ Windows \ System32 \ msacm32.dll". Символы загружены. "ConsoleApplication0.exe" (Win32): загружен "C:\Windows\System32\avicap32.dll". Символы загружены. "ConsoleApplication0.exe" (Win32): загружен "C:\Windows\System32\version.dll". Символы загружены. "ConsoleApplication0.exe" (Win32): загружен "C:\opencv\build\x64\vc11\bin\opencv_objdetect244d.dll". Не удается найти или открыть файл PDB. "ConsoleApplication0.exe" (Win32): загружен "C: \ Windows \ System32 \ imm32.dll". Символы загружены. "ConsoleApplication0.exe" (Win32): загружен "C:\Windows\System32\msctf.dll". Символы загружены. Программа '[4228] ConsoleApplication0.exe' завершила работу с кодом 1 (0x1).
Кто-нибудь имеет представление о том, почему это происходит?
1 ответ
Ни одно из этих сообщений не является фатальной ошибкой. Это просто диагностические утверждения (например, нет ничего плохого, это просто информирование вас об определенных событиях).
Файл PDB - это специальный файл Visual Studio, в котором есть символы отладки для вашего проекта. Если вы используете предварительно собранные библиотеки libs/dll для OpenCV, у вас не будет ни одного из этих файлов. К счастью, вы можете игнорировать эти сообщения, если только вы не надеетесь войти в код для этих библиотек с помощью отладчика.
Если это вас беспокоит, вы можете пересобрать opencv из исходного кода и включить /ZI
или же /Zi
вариант. Как бы то ни было, ни одно из этих сообщений не указывает на то, что что-то не так. Выход из программы с кодом 1 (0x1) вызван чем-то другим, но вы не предоставили достаточно информации, чтобы определить, что именно.
Вот официальное описание файлов PDB от MSDN:
Файл базы данных программы (PDB) содержит информацию об отладке и состоянии проекта, которая позволяет инкрементно связывать конфигурацию отладки вашей программы. Файл PDB создается при компиляции программы на C/C++ с помощью /ZI или /Zi