错误:

1>LINK : fatal error LNK1207: “F:\AI 大作业 【路径规划】【源码+PPT】\AI\Debug\AI.pdb”中的 PDB 格式不兼容;请删除并重新生成

解决方法:

这个A*搜索最短路径项目,是大四时候用VS2010做的,换到VS2013上面不行了,只要点击“生成”–>” 重新生成解决方案” 就可以了

ps:
VS做的越来越好了啊,vs2013上直接就写了解决方案了:“请删除并重新生成”,记得之前vs2010就没有这个提示


什么是pdb文件

.pdb文件,是VS生成的用于调试的符号文件(program database),保存着调试的信息。在VS的工程属性,C/C++,调试信息格式,设置/Zi,那么VS就会在构建项目时创建PDB文件。

在这里要区分两种情况:

1、构建静态库时,可以在工程属性 –> C/C++ –> 输出文件 –> 程序数据库名 设置生成的pdb文件名称,如果不指定,默认是生成为VCx0.pdb,这里x是VS版本号,例如用VS2005,就会生成VC80.pdb。这里就会产生一个疑问,编译静态库时默认生成的.pdb文件名字都一样,那引用这个静态库的项目最后能找到正确的.pdb文件吗?答案是肯定的,因为VS会在生成的文件中嵌入 .pdb 文件的路径。

举个例子,在Project/ToolA下,构建了一个静态库ToolA.lib,对应生成一个vc80.pdb,同样在在Project/ToolB下,构建了一个静态库ToolB.lib,对应生成一个vc80.pdb。然后最终的工程Work.exe同时链接了这两个静态库.这时,生成Work.pdb的时候,就会在ToolA.lib中找到它对应的符号文件路径Project/ToolA/vc80.pdb,以及ToolB.lib对应的符号文件路径Project/ToolB/vc80.pdb,合并生成最终工程的Work.pdb。

2、构建可执行文件或动态库,这种情况下,编译器会生成一个.pdb文件,链接器会生成一个.pdb文件,编译器生成的pdb文件可以在在工程属性 –> C/C++ –> 输出文件 –> 程序数据库名 设置,链接器生成的.pdb文件可以在工程属性 –> 链接器 –> 调试 –> 生成调试信息(设置Yes),生成程序数据库名设置。

这两个pdb文件有什么不一样呢?编译器生成的pdb文件,默认也是用vcx0命名,是编译器在编译过程中,把每个.obj文件对应的符号信息存储在其中的,但不包括函数定义。而链接器生成的.pdb文件,默认使用工程名命名,是链接器在链接工程时,根据编译器生成的vcx0.pdb再进一步加工出来的,具有完整信息的符号文件。就像链接器根据各个.obj文件生成exe或dll一样,编译器生成的.pdb文件是编译-链接过程的中间产物,最后用于调试程序的是链接器生成的ProjectName.pdb.

上面说的是pdb文件生成规则。在使用的时候,调时期会取到文件对应的pdb文件路径,然后去那个路径(绝对路径)下找,如果这个exe或者dll是自己编的,那无论它放在哪里,pdb文件只要不动,调试器都能找到它。如果调试器在那个路径下找不到,就会到exe或者dll的同级目录找。例如这个工程是别人编出来的,连同符号文件一起发过来,我们只要把符号文件与exe或者dll放在同级目录,调试器也能找到它。当然,在调试器中也可以自己指定符号文件路径。

pdb文件说明转自:http://www.cnblogs.com/lidabo/p/3486114.html

VS2013 fatal error LNK1207: PDB 格式不兼容相关推荐

  1. 错误 1error LNK1207 PDB 格式不兼容;请删除并重新生成

    最近遇到一个问题.在实验室用vs2005作了作业,打包带回来之后,用vs2013打开,然后就出现了如下错误. 错误 1 error LNK1207: "F:\vsproject\projec ...

  2. 不同版本的VS项目复制出现“PDB 格式不兼容;请删除并重新生成”的问题解决方法

    LINK : fatal error LNK120: "\SSCredProvider__\SSCredProvider\Debug\SSCredProvider.pdb"中的 P ...

  3. error LNK1207:-XXX.pdb”中的 PDB 格式不兼容;请删除并重新生成

    两种解决办法: 1.菜单栏->生成>清除解决方案,然后再重新生成解决方案: 2.在项目文件夹下面的debug和release目录删除.

  4. vs2019 fatal error C1090: PDB API “3“

    出现这个错误,把输出的pdb文件名改一下就好了,因为原本的PDB被占用导致清理不掉出现这种错误

  5. QT5.3.2与VS2013 fatal error LNK1112: 模块计算机类型“X86”与目标计算机类型“x64”冲突_(解决方案)...

    1.在项目属性-〉配置属性-〉链接器-〉高级,把目标计算机改为X64,点ok.并把平台改为x64. 2.再选择QT->QT Project Settings,把Version 改为msvc201 ...

  6. 完美解决VS2003.Net fatal error LNK1201: 写入程序数据库“.pdb”时出错 - 细雨淅淅

    注意:这里说的方案不适用于coco2d-x 3.0 STL 工程,把调试信息数据库设成非"C7兼容"的情绪. http://www.tuicool.com/articles/uYZ ...

  7. VS2015打开编译VS2013工程时提示fatal error C1083: 无法打开包括文件: “afxwin.h”: No such file or directory

    VS2015打开并编译VS2013工程时,显示fatal error C1083: 无法打开包括文件: "afxwin.h": No such file or directory ...

  8. VS2017链接报错:fatal error LNK1318: 非意外的 PDB 错误

    今天编译的时候出现了 : fatal error LNK1318: 非意外的 PDB 错误: NOT_IMPLEMENTED (9)  找了很久,后来对比sample里面的配置选项,终于解决问题: 中 ...

  9. 转载:vs2010 问题 LINK : fatal error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏

    原文链接:http://www.cnblogs.com/newpanderking/articles/3372969.html >LINK : fatal error LNK1123: 转换到 ...

最新文章

  1. Exploring Data with Python免费电子书
  2. linux下使用inotify实时监控文件变更,做完整性检查
  3. 手把手教你用Python构建自己的「王二狗」
  4. android layout 点击,Tips_Android点击事件(Down、Move、Up)的分发_重写Layout响应拖动事件...
  5. instanceof关键字
  6. html 比 htm 的载入速度快,htm和html
  7. netty 支持多种通讯协议
  8. 安卓“新皇”来了!华为Mate 40确定10月22日发布
  9. 力扣654. 最大二叉树(JavaScript)
  10. 如何为Mac视频添加模糊效果?
  11. html使用什么网络协议,网络协议详细介绍
  12. info There appears to be trouble with your network connection. Retrying
  13. Java实现凯撒密码、维吉尼亚密码、双换位密码、RC4算法加密
  14. DSA签名简介及对其的攻击方式
  15. arcgis怎么压缩tif文件_PDF文件怎么压缩到最小?PDF压缩失败怎么办?-PDF ——快科技(驱动之家旗下媒体)-...
  16. 基于 Traefik 的 ForwardAuth 配置
  17. 破解TexturePacker加密资源,寻找解密Key之旅
  18. php 图片 字母识别,php实现ocr文字识别
  19. C++11的chrono库,可实现毫秒微秒级定时
  20. eclipse中项目中的包结构显示问题

热门文章

  1. 关于mui 加载顺序摘要 ( plusReady(),DOMContentLoaded、onload)
  2. 如何提高个人领导力?
  3. 【软件测试面试】面试了字节、美团、腾讯等30几家公司后,才知道软件测试面试全是这个套路......
  4. unity连击的实现
  5. 关于微信公众号短链接数量和时效说明
  6. mybatis之selectKey标签
  7. vue-pdf 问题记录
  8. Android初级开发(九)——网络交互—WebView的使用
  9. DSG RealSync VS. Quest Shareplex
  10. 私人订制版微信红包封面(赠送红包封面)