VS2013 fatal error LNK1207: PDB 格式不兼容
错误:
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 格式不兼容相关推荐
- 错误 1error LNK1207 PDB 格式不兼容;请删除并重新生成
最近遇到一个问题.在实验室用vs2005作了作业,打包带回来之后,用vs2013打开,然后就出现了如下错误. 错误 1 error LNK1207: "F:\vsproject\projec ...
- 不同版本的VS项目复制出现“PDB 格式不兼容;请删除并重新生成”的问题解决方法
LINK : fatal error LNK120: "\SSCredProvider__\SSCredProvider\Debug\SSCredProvider.pdb"中的 P ...
- error LNK1207:-XXX.pdb”中的 PDB 格式不兼容;请删除并重新生成
两种解决办法: 1.菜单栏->生成>清除解决方案,然后再重新生成解决方案: 2.在项目文件夹下面的debug和release目录删除.
- vs2019 fatal error C1090: PDB API “3“
出现这个错误,把输出的pdb文件名改一下就好了,因为原本的PDB被占用导致清理不掉出现这种错误
- QT5.3.2与VS2013 fatal error LNK1112: 模块计算机类型“X86”与目标计算机类型“x64”冲突_(解决方案)...
1.在项目属性-〉配置属性-〉链接器-〉高级,把目标计算机改为X64,点ok.并把平台改为x64. 2.再选择QT->QT Project Settings,把Version 改为msvc201 ...
- 完美解决VS2003.Net fatal error LNK1201: 写入程序数据库“.pdb”时出错 - 细雨淅淅
注意:这里说的方案不适用于coco2d-x 3.0 STL 工程,把调试信息数据库设成非"C7兼容"的情绪. http://www.tuicool.com/articles/uYZ ...
- VS2015打开编译VS2013工程时提示fatal error C1083: 无法打开包括文件: “afxwin.h”: No such file or directory
VS2015打开并编译VS2013工程时,显示fatal error C1083: 无法打开包括文件: "afxwin.h": No such file or directory ...
- VS2017链接报错:fatal error LNK1318: 非意外的 PDB 错误
今天编译的时候出现了 : fatal error LNK1318: 非意外的 PDB 错误: NOT_IMPLEMENTED (9) 找了很久,后来对比sample里面的配置选项,终于解决问题: 中 ...
- 转载:vs2010 问题 LINK : fatal error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏
原文链接:http://www.cnblogs.com/newpanderking/articles/3372969.html >LINK : fatal error LNK1123: 转换到 ...
最新文章
- Exploring Data with Python免费电子书
- linux下使用inotify实时监控文件变更,做完整性检查
- 手把手教你用Python构建自己的「王二狗」
- android layout 点击,Tips_Android点击事件(Down、Move、Up)的分发_重写Layout响应拖动事件...
- instanceof关键字
- html 比 htm 的载入速度快,htm和html
- netty 支持多种通讯协议
- 安卓“新皇”来了!华为Mate 40确定10月22日发布
- 力扣654. 最大二叉树(JavaScript)
- 如何为Mac视频添加模糊效果?
- html使用什么网络协议,网络协议详细介绍
- info There appears to be trouble with your network connection. Retrying
- Java实现凯撒密码、维吉尼亚密码、双换位密码、RC4算法加密
- DSA签名简介及对其的攻击方式
- arcgis怎么压缩tif文件_PDF文件怎么压缩到最小?PDF压缩失败怎么办?-PDF ——快科技(驱动之家旗下媒体)-...
- 基于 Traefik 的 ForwardAuth 配置
- 破解TexturePacker加密资源,寻找解密Key之旅
- php 图片 字母识别,php实现ocr文字识别
- C++11的chrono库,可实现毫秒微秒级定时
- eclipse中项目中的包结构显示问题
热门文章
- 关于mui 加载顺序摘要 ( plusReady(),DOMContentLoaded、onload)
- 如何提高个人领导力?
- 【软件测试面试】面试了字节、美团、腾讯等30几家公司后,才知道软件测试面试全是这个套路......
- unity连击的实现
- 关于微信公众号短链接数量和时效说明
- mybatis之selectKey标签
- vue-pdf 问题记录
- Android初级开发(九)——网络交互—WebView的使用
- DSG RealSync VS. Quest Shareplex
- 私人订制版微信红包封面(赠送红包封面)