当前位置:  开发笔记 > 开发工具 > 正文

vc80.pdb - 如何让它消失,再也不会打扰我?

如何解决《vc80.pdb-如何让它消失,再也不会打扰我?》经验,为你挑选了1个好方法。

使用VS2005构建静态库时,我不断收到链接器警告,表明我的library.lib无法找到VC80.pdb.显然,因此,IDE的编辑和继续功能无法处理包含library.lib的任何项目

需要什么魔法才能告诉VS2005生成带编辑的静态库并继续调试信息,在链接到项目时不引用或需要vs80.pdb?

- 进一步理解 - 因此,为了使编译并继续使用预编译的静态库,我们需要将vs80.pdb和vs80.pdb文件与.lib一起放入SVN,AND重命名pdb/idb以防止在使用多个预编译库执行此操作时发生冲突.



1> Steve Steine..:

vc80.pdb是包含lib的调试信息的文件.在ide属性页面中:配置属性:c\c ++:输出文件允许您将其重命名为更合适的名称,例如lib的名称.当链接器将您的lib链接到目标exe时,它会查找此pdb(在lib中有一个指向它的指针)并从该pdb中提取信息并将其放在exe的pdb中.

/ Fd [name]是重命名pdb/ZI的选项,用于使用包含编辑和继续信息的pdb进行编译.

所有链接的库和最终的taget exe或dll需要/ ZI,以启用编辑并继续.

我做了一个小的testlib.lib并使用"dumpbin/all"来显示指向调试信息的指针(这是一个很小的摘录):

SECTION HEADER #7
.debug$T name
       0 physical address
       0 virtual address
      48 size of raw data
     838 file pointer to raw data (00000838 to 0000087F)
       0 file pointer to relocation table
       0 file pointer to line numbers
       0 number of relocations
       0 number of line numbers
42100040 flags
         Initialized Data
         Discardable
         1 byte align
         Read Only

RAW DATA #7
  00000000: 04 00 00 00 42 00 15 15 D5 EA 1E C9 7C 10 3A 40  ....B...Õê.É|.:@
  00000010: 93 63 CE 95 77 15 49 4A 03 00 00 00 64 3A 5C 64  .cÎ.w.IJ....d:\d
  00000020: 65 76 5C 74 65 73 74 5C 74 65 73 74 6C 69 62 5C  ev\test\testlib\
  00000030: 74 65 73 74 6C 69 62 5C 64 65 62 75 67 5C 76 63  testlib\debug\vc
  00000040: 38 30 2E 70 64 62 00 F1                          80.pdb.ñ

推荐阅读
echo7111436
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有