2013-04-25 5 views
2

Я запускаю программу, используя opencv libraray и VS2012. Я использую Windows 7 64 бит, поэтому я изменил конфигурационный менеджер на x64 через свойства проекта. В окружении переменного моей системы я сделал эти записи первой из командной строки: setx -m OPENCV_DIR C:\OpenCV\build и добавил это к системе Пути: %OPENCV_DIR%\build\x64\vc11\binopencv2.4.4 visual studio 2012 Не удается найти или открыть файл PDB

В Visual Studio, в менеджере свойств, я добавил следующие ссылки папки в свойства проекта:

  1. Под C/C++, дополнительный включать каталог, я добавил: $(OPENCV_DIR)\include
  2. Под Linker, Дополнительная библиотека каталогов, я добавил; $(OPENCV_DIR)\x64\vc10\lib;
  3. Linker, вход, дополнительные зависимости, я добавил следующее:

    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).

Есть ли у кого-нибудь идеи, почему это происходит?

+0

Нет ничего плохого в том, что PDB для сторонней библиотеки не существует. Вам действительно нужно отлаживать код OpenCV? –

+0

, но, как вы видели, программа вышла с кодом 1 (0x1), программа не делает wht, как предполагается, – harounbest

+0

Итак, отлаживайте свою программу? Или вы предполагаете, что недостающий PDB переводится в код возврата 1? –

ответ

2

Ни один из них не является фатальным сообщением об ошибке. Это просто диагностические утверждения (например, ничего не так, это просто информирование вас о некоторых событиях).

PDB-файл - это специальный файл Visual Studio, который содержит отладочные символы для вашего проекта. Если вы используете предварительно созданные библиотеки libs/dll для OpenCV, у вас не будет ни одного из этих файлов. К счастью, вы можете игнорировать эти сообщения, если только вы не хотите входить в код для этих библиотек с отладчиком.

Если это вас беспокоит, вы можете перестроить opencv из источника и включить опцию /ZI или /Zi. Тем не менее, ни одно из этих сообщений не указывает на то, что что-то не так. Ваша программа, выходящая с кодом 1 (0x1), вызвана чем-то другим, но вы не указали достаточно информации для определения того, что.

Here's the official description of PDB files from MSDN:

База данных файл программы (PDB) проводит отладку и информацию о состоянии проекта, что позволяет инкрементный связывание конфигурации отладки вашей программы. Файл PDB создается при компиляции программы C/C++ с/ZI или/Zi

+0

благодарю вас за помощь, я попытаюсь понять, что вызывает ошибку – harounbest

 Смежные вопросы

  • Нет связанных вопросов^_^