opencv_world300d.dll”。无法找到或打开PDB文件

时间:2016-07-07 08:13:21

标签: c++ opencv visual-studio-2012 pdb

我正在尝试在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 文件

有很多库但不是必需的库。我现在被困住了,无法解决我的问题。请帮忙!

1 个答案:

答案 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中调试代码,则不需要它,当您想要在程序中找到崩溃时,它是非常有用的。