c++ - 找不到 PDB 'vc100.pdb'

标签 c++ visual-studio-2010 linker warnings static-linking

我已经下载了 FreeImage 源代码并自己为 X64 MT DLL 进行了静态构建。

一切正常,除了当我在 freeimage.lib 文件中使用链接时,我收到很多烦人的链接器警告,我不太了解原因?

2>freeimage.lib(zutil.obj) : warning LNK4099: PDB 'vc100.pdb' was not found with 'freeimage.lib(zutil.obj)' or at '\bin\Release\vc100.pdb'; linking object as if no debug info

...就这样连续不断...

是什么原因造成的,我该如何摆脱它?我猜这是我构建 FreeImage 时的一些编译器选项。

这是 FreeImageLib 项目的命令行:

/I"..\" /I"..\ZLib" /I"..\DeprecationManager" /I"..\OpenEXR\Half" /I"..\OpenEXR\Iex" /I"..\OpenEXR\IlmImf" /I"..\OpenEXR\Imath" /I"..\OpenEXR\IlmThread" /nologo /W3 /WX- /Od /D "WIN32" /D "_DEBUG" /D "OPJ_STATIC" /D "FREEIMAGE_LIB" /D "_CRT_SECURE_NO_DEPRECATE" /D "LIBRAW_NODLL" /D "_VC80_UPGRADE=0x0710" /D "_MBCS" /GF- /Gm- /EHsc /RTC1 /MDd /GS /fp:precise /Zc:wchar_t /Zc:forScope /openmp /Fp".\Debug/FreeImageLib.pch" /Fa".\Debug/" /Fo".\Debug/" /Fd".\Debug/" /Gd /errorReport:queue

编辑:

我通过将其构建为动态库来解决它。虽然这不是我所希望的解决方案......

最佳答案

当您使用调试符号编译静态库时,您会得到这个文件 vc100.pdb 以及库。此文件中的符号信息将在链接期间与其他库的符号信息合并,以生成您要链接的 EXE 或 DLL 的最终 PDB。链接器提示它无法在预期的位置找到该文件。

这只是一个警告,它只会在调试版本中发生。如果你在发布配置中编译 FreeImage,这个警告应该会消失。或者,找出链接器找不到 vc100.pdb 文件的原因。

给你的另一个答案是疯狂的胡说八道。

关于c++ - 找不到 PDB 'vc100.pdb',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8460623/

相关文章:

c++ - 处理构造函数时的智能指针

visual-studio-2010 - 用大括号包装多个语句

python - Cython 找不到共享对象文件

c++ - 从一个文件中读取多个 jpg 图像

c++ - 返回 std::vector - 正确的方法

c++ - 使用指向函数的指针数组创建结构

visual-c++ - Visual C++ 2005不会为链接器添加/dll参数

c++ - 链接器输出文件属性文件与目标路径不匹配?

visual-studio-2010 - 使用 Visual Studio 2010 浏览 xsd 文件时 "Unauthorized zone"是什么意思?

c++ - 链接 boost 库