#c #opencv
#c #opencv
Вопрос:
Я пытаюсь следовать https://docs.opencv.org/3.1.0/d4/d18/tutorial_sfm_scene_reconstruction.html этот код, но он не может быть собран. Я использую opencv и дополнительный контент версии 3.4.5
Я пытался добавить .dll для проекта, но он не работает.
'scenceRecon.exe' (Win32): Loaded 'C:WindowsSysWOW64ntdll.dll'. Cannot find or open the PDB file.
'scenceRecon.exe' (Win32): Loaded 'C:WindowsSysWOW64kernel32.dll'. Cannot find or open the PDB file.
'scenceRecon.exe' (Win32): Loaded 'C:WindowsSysWOW64KernelBase.dll'. Cannot find or open the PDB file.
'scenceRecon.exe' (Win32): Loaded 'E:opencvlasterinstallx86vc15binopencv_core345d.dll'. Symbols loaded.
'scenceRecon.exe' (Win32): Loaded 'E:opencvlasterinstallx86vc15binopencv_sfm345d.dll'. Symbols loaded.
'scenceRecon.exe' (Win32): Loaded 'E:opencvlasterinstallx86vc15binopencv_viz345d.dll'. Symbols loaded.
'scenceRecon.exe' (Win32): Loaded 'C:WindowsSysWOW64msvcp140d.dll'. Cannot find or open the PDB file.
'scenceRecon.exe' (Win32): Loaded 'C:WindowsSysWOW64vcruntime140d.dll'. Cannot find or open the PDB file.
'scenceRecon.exe' (Win32): Loaded 'C:WindowsSysWOW64ucrtbased.dll'. Cannot find or open the PDB file.
'scenceRecon.exe' (Win32): Loaded 'C:WindowsSysWOW64concrt140d.dll'. Cannot find or open the PDB file.
'scenceRecon.exe' (Win32): Loaded 'E:opencvlasterinstallx86vc15binopencv_xfeatures2d345d.dll'. Symbols loaded.
'scenceRecon.exe' (Win32): Loaded 'E:opencvlasterinstallx86vc15binopencv_features2d345d.dll'. Symbols loaded.
'scenceRecon.exe' (Win32): Loaded 'E:opencvlasterinstallx86vc15binopencv_flann345d.dll'. Symbols loaded.
'scenceRecon.exe' (Win32): Loaded 'E:opencvlasterinstallx86vc15binopencv_imgcodecs345d.dll'. Symbols loaded.
'scenceRecon.exe' (Win32): Loaded 'C:WindowsSysWOW64user32.dll'. Cannot find or open the PDB file.
'scenceRecon.exe' (Win32): Loaded 'C:WindowsSysWOW64win32u.dll'. Cannot find or open the PDB file.
'scenceRecon.exe' (Win32): Loaded 'C:WindowsSysWOW64gdi32.dll'. Cannot find or open the PDB file.
'scenceRecon.exe' (Win32): Loaded 'C:WindowsSysWOW64gdi32full.dll'. Cannot find or open the PDB file.
'scenceRecon.exe' (Win32): Loaded 'C:WindowsSysWOW64msvcp_win.dll'. Cannot find or open the PDB file.
'scenceRecon.exe' (Win32): Loaded 'C:WindowsSysWOW64ucrtbase.dll'. Cannot find or open the PDB file.
The thread 0x27dc has exited with code -1073741515 (0xc0000135).
The thread 0x1f78 has exited with code -1073741515 (0xc0000135).
The program '[6608] scenceRecon.exe' has exited with code -1073741515 (0xc0000135) 'A dependent dll was not found'.```
и эта ошибка .exe
Комментарии:
1. Я полагаю, что решение состоит в том, чтобы выяснить, где находится эта отсутствующая dll.
Ответ №1:
Это распространенный шаблон для фреймворков Windows API. Вы устанавливаете / собираете некоторый фреймворк, который поставляется с набором файлов INCLUDE, LIB и DLL. Ваш код включает заголовки и ссылки на заглушку lib-файла библиотеки DLL для компиляции. Но во время выполнения зависимые библиотеки DLL не могут быть найдены, потому что их нет на вашем пути (или в той же папке, что и EXE-файл).
Диалоговое окно буквально сообщает вам об ошибке. Скопируйте ceres-debug.dll в ту же папку, что и EXE. Или предпочтительно, как объяснено выше, просто убедитесь, что любая папка, содержащая ceres-debug.dll находится в вашей переменной окружения PATH. Обновляя ПУТЬ, вы, вероятно, устраняете многие последующие ошибки для дополнительной библиотеки DLL вашей программы или ceres-debug.dll зависит от.
Имеет смысл?
Кроме того, в быстром поиске в Google «Порядок поиска DLL» есть несколько хороших статей, объясняющих эту тему: https://learn.microsoft.com/en-us/windows/desktop/Dlls/dynamic-link-library-search-order