找不到PDB'vc100.pdb'

时间:2011-12-10 23:06:03

标签: 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

编辑:

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

1 个答案:

答案 0 :(得分:34)

使用调试符号编译静态库时,会获得此文件vc100.pdb以及库。在链接期间,此文件中的符号信息将与其他库的符号信息合并,以生成您要链接的EXE或DLL的最终PDB。链接器抱怨它找不到它希望找到它的文件。

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

给你的另一个答案是疯狂的废话。