【问题标题】:warning LNK4099: PDB 'vc100.pdb' was not found also if the file is there警告 LNK4099:如果文件存在,也找不到 PDB 'vc100.pdb'
【发布时间】:2013-01-11 01:21:16
【问题描述】:
我正在尝试使用 Visual Studio 编译 Qt 4.8.6 项目(我正在使用 Qt4.8.6 的 Visual Studio 插件)。我在调试和发布模式(-debug-and-release)下静态(-static)编译了库,没有错误。
我收到以下错误:
QtGuid.lib(jaricom.obj):警告 LNK4099:在“QtGuid.lib(jaricom.obj)”或“C:\MyProject\debug\vc100.pdb”中找不到 PDB“vc100.pdb”;链接对象好像没有调试信息
1>QtGuid.lib(jcapimin.obj):警告 LNK4099:在 'QtGuid.lib(jcapimin.obj)' 或在 'C:\MyProject\debug\vc100.pdb' 中找不到 PDB 'vc100.pdb';链接对象好像没有调试信息
为什么会这样,我该如何解决?我不想忽略它。
【问题讨论】:
标签:
c++
visual-studio
qt
linker
【解决方案1】:
首先这些是警告而不是错误,其次看起来您将 Qt 库的调试版本与 VC 库的发布配置文件链接... Build Profile 有问题...但这只是警告,如果您不需要调试VC 组件的功能,你可以忽略这个警告……。
如果您使用 VS2010 编译器并将使用 win SDK 组件,并且您使用的 VC 之间的依赖关系没有任何问题,Qt 的依赖关系(使用 mingw 编译!?)等......只需下载 Qt 源代码,用您的 VS 编译它们,安装VS Add-in并在VS中使用Qt...
【解决方案2】:
链接器找不到库 QTGuid 的调试信息。如果你想调试你的应用程序,你不会从 QTGuid 获得源代码级调试。
要解决此问题,您必须确保已安装 pdb 文件(使用调试信息安装 Qt)并确保文件位于 Visual Studio 正在查找 pdb 文件的路径中。
【解决方案3】:
就我而言,我收到警告是因为我有以下项目设置:
Project->Linker->General->Enable Incremental Linking: Yes (/INCREMENTAL)
解决方案:我更改了项目设置并且它起作用了:
项目->链接器->常规->启用增量链接:默认