LNK1318:意外的PDB错误;好的(0)

时间:2010-11-23 13:33:12

标签: visual-studio linker c++-cli

我正在尝试链接使用/ MDd标志构建的库(libcef_wrapper_dll.lib)。我的应用程序是使用/ MDd和/ CLR构建的,因此应该兼容。该项目编译得很好但是在链接时我得到了下面非常无益的错误:

   Error    1   fatal error LNK1318: Unexpected PDB error; OK (0) ''    c:\Projects\Cef\CefSharp\libcef_dll_wrapper.lib 1   CefSharp

我没有.LIB的.PDB文件,我需要一个吗?

10 个答案:

答案 0 :(得分:16)

原来我需要删除所有项目临时文件inc。缓存等,杀死调试符号服务器并重启windows。

答案 1 :(得分:4)

我见过LNK1318:意外的PDB错误; UNKNOWN(24)链接时。

当我有两个以上的大输出链接同时发生时 - mspdbsrc.exe使用越来越多的内存,达到2gig左右,然后崩溃。

答案 2 :(得分:4)

这个对我有用: 项目属性 - > C / C ++ - >代码生成 - >启用功能级别链接 - >是

答案 3 :(得分:3)

重建项目解决了问题

答案 4 :(得分:3)

对我来说,最好的解决方案就是简单地杀死符号服务器。我的桌面上有一个批处理文件来执行此操作:

@for /F "tokens=2 delims= " %%I in ('tasklist^|findstr /I "mspdbsrv.exe"') do taskkill /F /PID %%I>NUL && echo Process killed.

答案 5 :(得分:1)

我还得到了构建错误,如下所示: 链接:致命错误LNK1318:意外的PDB错误;

有一些severa网址谈到了这一点,但它没有找到完整的解决方案。 有人说mspdbsrv.exe是麻烦制造者。 在我清理增量构建结果并进行真正干净的构建之后,它运行良好。

http://connect.microsoft.com/VisualStudio/feedback/details/296978/link-fatal-error-lnk1318-unexpected-pdb-error-unknown-24

http://social.msdn.microsoft.com/Forums/en-US/vclanguage/thread/9e58b7d1-a47d-4a76-943a-4f35090616e8

答案 6 :(得分:1)

这是VC链接器的技术限制。 您应该尝试更多地拆分代码模块。拆分库也有助于延长链接时间。

查看您是否可以在发布模式下成功构建

答案 7 :(得分:1)

如果将/MP/MDd与MSBuild一起使用,请同时使用/Zf编译器选项。 (请参见https://docs.microsoft.com/en-us/cpp/error-messages/tool-errors/linker-tools-error-lnk1318

LNK1318的其他故障排除步骤:

  • 进行完整的清理/重建
  • 重新启动mspdbsrv.exe
  • 关闭项目目录中的防病毒检查。
  • Debug Information Format更改为/C7None
  • 尝试使用/property:_IsNativeEnvironment=true来构建

答案 8 :(得分:0)

我遇到了问题,因为我有一个带有/ clr选项的文件搞砸了。我将CLR特定代码移动到一个单独的文件,清理,重建,问题就消失了。

答案 9 :(得分:0)

这对我有用:转到项目属性 -> C/C++ -> 代码生成 -> 运行时库 -> 多线程调试 (/MTd)。