举例: “warning LNK4099: 未找到 PDB“vc120.pdb”(使用“sqlite3d.lib(sqlite3secure.obj)”或在“D:\test\Debug\vc120.pdb”中寻找);正在链接对象,如同没有调试信息一样”。 
使用VC时链接了第三方静态库, 并且第三方静态库(一般是开源的三方库)是在一个solution下的多个project, 当然, 网上基本都是这么回答的, 其实本质原因是因为这些开源库一般都会通过各种方式修改solution和project的默认路径把二进制生成到同一个目录下, 比如lib, 而我们自己平时简单的静态库工程是不怎么修改默认工程配置的.

由于每个开源库的作者有自己的工程组织方式, 但导致LNK4099的最终原因无非是PDB路径问题

解决方案 
a. 如果确认不需要PDB, 即不需要调试开源库, 完全可以在设置里将/Zi或/ZI去掉, 这样即能消除warning也能提升开源库编译速度

b. 如果需要调试开源库, 方法也不复杂 
b.1. 将开源库project里的C/C++->General->Debug Information Format 设置为Zi或ZI(两者区别请自行google, Zi就够用了, 只是高版本的VS默认都是ZI) 
b.2. 然后在C/C++->Output Files->Pragram Database File Name 设置为(OutDir)(OutDir)(TargetName).pdb, (有些2B开源库这里设置的跟VS默认的是一样的比如(IntDir)vc(IntDir)vc(PlatformToolsetVersion).pdb, 但把IntDir改成了同一个目录, 每个project生成出来的pdb名字路径都是一致的, 当然就会出问题), 这里需要注意的是, 一定要确保(OutDir)(OutDir)(TargetName)是有意义的, 个别开源库完全不用vs自带的宏, 甚至个别开源库需要configure之后才生产vc project, 甚至是绝对路径, 但你所要确保的是, 目录必须跟生成的.lib是同一个, 文件名(不包括扩展名)必须是和生成的xxx.lib的xxx是一致的. 之后你要做的就是把每个project的debug&release都按照如上改好再编译就ok了。

VS warning LNK4099:未找到 PDB 的解决方案相关推荐

  1. warning LNK4099: 未找到 PDB“vc120.pdb”

     使用vs2013建立一个solution,下面两个project.一个静态库,一个可执行程序.静态库生成的.lib要给可执行程序使用. 编译时,出现warning LNK4099: 未找到 PD ...

  2. warning LNK4099: 未找到 PDB“vc120.pdb”(使用“dataserialize.lib(Data_processor.obj)”或在“E:\Santint\Santint_B

    举例: "warning LNK4099: 未找到 PDB"vc120.pdb"(使用"sqlite3d.lib(sqlite3secure.obj)" ...

  3. 解决 Debug编译时,警告:warning LNK4099: 未找到 PDB“vc90.pdb”

    警告:warning LNK4099: 未找到 PDB"vc90.pdb" 当多个Project是分开编译的,主项目和子项目的pdb文件名相同(默认都是vc90.pdb或vc100 ...

  4. 怎样解决warning LNK4099: 未找到 PDB“vc100.pdb” 造成的链接 时间过长

    转自 http://blog.csdn.net/vchelpdoc/article/details/12873161 错误原因: 人为删除了vc100.pdb文件.一般这个文件生成在debug下 解决 ...

  5. office2010使用mathtype时,出现未找到MathPage.WLL解决方案--亲测有用

    office2010使用mathtype时,出现未找到MathPage.WLL解决方案--亲测有用 参考文章: (1)office2010使用mathtype时,出现未找到MathPage.WLL解决 ...

  6. modules not found(模块未找到)的解决方案

    起因:公司一部门经理换新电脑,然后excel 2007无法打开带有很多宏的excel,提示modules not found. 由于这个问题一直碰到很多次,都是没有真正的解决方案.最后发现公司装的系统 ...

  7. C#项目:未找到引用错误解决方案

    事件前提:        因为老师项目需要接手了一份项目代码,C#编写,框架使用的是.NETFramework 4.6.2,拿到手的是一个包含原项目的文件夹,里面有.csproj文件,加载后出现未找到 ...

  8. office中“Error! Reference source not found.“”错误! 参考源未找到“的问题解决方案...

    写文章时,如果文章某处引用了某表Table.x或者某图Figure.x,就需要用到"插入题注"和"交叉引用".步骤是:先对表或图的标题建立标签,插入题注:然后, ...

  9. 去掉 VC2017里输出:warning LNK4099

    当你使用一些库,但没有必要调试它时,总会输出一些烦人的信息,如下: >libhpdfD.lib(hpdf_annotation.obj) : warning LNK4099: 未找到 PDB&q ...

最新文章

  1. mysql navicat导入bcp_SQL Server中BCP导入导出用法详解
  2. 重磅!2021泰晤士世界大学排名公布!
  3. DLINQ *.dbml文件该属于哪一层
  4. icu入院宣教流程图_ICU患者及家属的健康教育PPT.ppt
  5. Java中的Runtime类详解
  6. 「权威发布」2019年全国大学生电子设计竞赛获奖名单【涵盖国一、二等奖】
  7. android 自动化测试之monkeyrunner学习(三),自动化测试之Monkeyrunner
  8. ctf题目:看不见的flag_记一次江西省信息安全线下CTF比赛
  9. poj1324Holedox Moving搜索
  10. Android Architecture Components 系列(五)Room
  11. 自动化测试平台(七):头像展示、下拉菜单及用户管理模块增删改功能实现
  12. 基于stc15f2k60s2芯片单片机编程(计算器,不完美)
  13. M32S 串口摄像头的技术应用
  14. 2018年目标——计划未来
  15. 互联网毒瘤——内容农场
  16. 什么是TMD格式?TDM格式详细介绍
  17. 小程序如何开通流量主
  18. 拼团模式--社交电商的常见营销手法
  19. 带固态硬盘的电脑Ubuntu和Windows双系统安装
  20. 06-jQuery的文档操作***

热门文章

  1. 艾司博讯:拼多多直通车点击率低怎么办
  2. 计算机取代老师英语怎么说,英语专业四级作文范文:计算机将取代老师
  3. SSH整合出现Unable to locate persister
  4. 共轭梯度法matlab代码博客园,共轭梯度法源代码.doc
  5. 51单片机(STC89C52RC) lcd1602 4线接法+经典IO扩展综合实验
  6. TypeScript基本类型的了解
  7. Java从入门到精通 第22章 多线程
  8. 20180624模拟赛
  9. 【苹果iMessage推送家庭推】苹果位置推导入Java入口java.util.stream.collectors; tmpmaclist
  10. 数据库课程设计报告-学生学籍管理信息系统