Program was not found .dll file

元气小坏坏 提交于 2021-02-15 07:49:06

问题


I try to follow https://docs.opencv.org/3.1.0/d4/d18/tutorial_sfm_scene_reconstruction.html this code but it can't build. I use opencv and extra-contrib version 3.4.5

I tried to add .dll to project but it not work.

'scenceRecon.exe' (Win32): Loaded 'C:\Windows\SysWOW64\ntdll.dll'. Cannot find or open the PDB file.
'scenceRecon.exe' (Win32): Loaded 'C:\Windows\SysWOW64\kernel32.dll'. Cannot find or open the PDB file.
'scenceRecon.exe' (Win32): Loaded 'C:\Windows\SysWOW64\KernelBase.dll'. Cannot find or open the PDB file.
'scenceRecon.exe' (Win32): Loaded 'E:\opencv\laster\install\x86\vc15\bin\opencv_core345d.dll'. Symbols loaded.
'scenceRecon.exe' (Win32): Loaded 'E:\opencv\laster\install\x86\vc15\bin\opencv_sfm345d.dll'. Symbols loaded.
'scenceRecon.exe' (Win32): Loaded 'E:\opencv\laster\install\x86\vc15\bin\opencv_viz345d.dll'. Symbols loaded.
'scenceRecon.exe' (Win32): Loaded 'C:\Windows\SysWOW64\msvcp140d.dll'. Cannot find or open the PDB file.
'scenceRecon.exe' (Win32): Loaded 'C:\Windows\SysWOW64\vcruntime140d.dll'. Cannot find or open the PDB file.
'scenceRecon.exe' (Win32): Loaded 'C:\Windows\SysWOW64\ucrtbased.dll'. Cannot find or open the PDB file.
'scenceRecon.exe' (Win32): Loaded 'C:\Windows\SysWOW64\concrt140d.dll'. Cannot find or open the PDB file.
'scenceRecon.exe' (Win32): Loaded 'E:\opencv\laster\install\x86\vc15\bin\opencv_xfeatures2d345d.dll'. Symbols loaded.
'scenceRecon.exe' (Win32): Loaded 'E:\opencv\laster\install\x86\vc15\bin\opencv_features2d345d.dll'. Symbols loaded.
'scenceRecon.exe' (Win32): Loaded 'E:\opencv\laster\install\x86\vc15\bin\opencv_flann345d.dll'. Symbols loaded.
'scenceRecon.exe' (Win32): Loaded 'E:\opencv\laster\install\x86\vc15\bin\opencv_imgcodecs345d.dll'. Symbols loaded.
'scenceRecon.exe' (Win32): Loaded 'C:\Windows\SysWOW64\user32.dll'. Cannot find or open the PDB file.
'scenceRecon.exe' (Win32): Loaded 'C:\Windows\SysWOW64\win32u.dll'. Cannot find or open the PDB file.
'scenceRecon.exe' (Win32): Loaded 'C:\Windows\SysWOW64\gdi32.dll'. Cannot find or open the PDB file.
'scenceRecon.exe' (Win32): Loaded 'C:\Windows\SysWOW64\gdi32full.dll'. Cannot find or open the PDB file.
'scenceRecon.exe' (Win32): Loaded 'C:\Windows\SysWOW64\msvcp_win.dll'. Cannot find or open the PDB file.
'scenceRecon.exe' (Win32): Loaded 'C:\Windows\SysWOW64\ucrtbase.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'.```

and this .exe error


回答1:


This is a common pattern for Windows API frameworks. You install/build some framework which comes with a set of INCLUDE, LIB, and DLL files. Your code includes the headers and links with the DLL's stub lib file in order to compile. But at runtime, the dependent DLLs can't be found, because they aren't in your PATH (or in the same folder as an EXE).

The dialog is literally telling you the error. Copy ceres-debug.dll into the same folder as the EXE. Or preferably, as explained above, just make sure that whatever folder containing ceres-debug.dll is in your PATH environment variable. By updating the PATH, you likely resolve many subsequent errors for the additional DLL your program or ceres-debug.dll depend on.

Make sense?

Also, a quick google for "DLL Search Order" has several good articles that explain this topic: https://docs.microsoft.com/en-us/windows/desktop/Dlls/dynamic-link-library-search-order



来源:https://stackoverflow.com/questions/55437129/program-was-not-found-dll-file

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!