我正在尝试在Visual Studio 2013中构建一个项目,该项目使用了一些额外的库, OpenCV 和其他文件。当我构建项目时,它是成功的但我运行创建的可执行文件它停止给出一些错误代码。所以我在构建时使用了Visual Studio的 Windows调试器模式。并给了我以下错误:
'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 Symbol Servers ”复选框,标记加载所有模块,然后单击“加载所有符号”。在answer
中找到当我搜索这个问题时
opencv_world300d.dll'. Cannot find or open the PDB file
我找到了一个解决方案, opencv_world300d.dll 的PDB文件没有预先打包的版本,因为我需要从 source 构建OpenCV。经过长时间的搜索,我决定自己构建它,并从源代码构建OpenCV,并且构建成功。它建立了大约56个项目。
但是没有名称 opencv_world300d 的 PDB 或 DLL 文件
有很多库但不是必需的库。我现在被困住了,无法解决我的问题。请帮忙!
答案 0 :(得分:3)
由于似乎有一些关于 opencv_world 的混淆,让我们先来澄清一下:
什么是opencv_world
Opencv_world是一个dll,它将opencv中的所有内容打包到库文件中。 关于这一点的好处是你只需要在项目文件中包含一个库而不是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中调试代码,则不需要它,当您想要在程序中找到崩溃时,它是非常有用的。