【问题标题】:How to create stripped pdb from static library?如何从静态库创建剥离 pdb?
【发布时间】:2013-02-03 07:17:04
【问题描述】:

我链接到一个静态库(第 3 方)并收到 LNK4099 警告:.Pdb not found

有没有办法为这个库创建一个剥离的 pdb?我不需要来自这个特定库的调试信息,只是没有警告。

直到现在我遇到了 LNK4209:损坏的 pdb 警告与 LNK4099 一样不可忽略。 编辑 link.exe 并添加 /ignore: 是一个很好的本地解决方案,不适合服务器构建机器。

【问题讨论】:

  • 将 '#pragma warning( disable : 4099 )' 添加到链接库的第一个文件不是一个合适的解决方案?
  • #pragma warning does not function for this specific warning,很明显,问题是如何为这个库创建一个剥离的pdb
  • @Grigoriy 正如我在我的电脑上所说的,我设法消除了这个麻烦,我在编辑和忽略部分提到了它
  • @Florea Marian 我认为没有办法做到这一点。如果您可以访问源代码,请使用符号构建它。如果源不可用,获取 PDB 的唯一方法是联系制造商。

标签: c++ visual-c++ pdb-files


【解决方案1】:

在 CodePlex 上有一个名为“Common Compiler Infrastructure”的项目,它托管类以与 PE 和 PDB 格式进行交互。其中一个类称为PdbWriter,可用于生成pdb 文件。生成一个空的 pdb 文件并将其用作原始 pdb 文件的替换可能是根据您的标准可行的解决方案。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-02
    • 2011-06-10
    • 2011-06-05
    • 1970-01-01
    相关资源
    最近更新 更多