举例: “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了。

解决方案:在工程属性页 配置 release 平台 活动(win32)设置: 配置属性 ; 链接器 ; 调试 ; 生成调试信息 ; 否

转载:https://blog.csdn.net/starytx/article/details/70053194

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

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

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

  2. VS warning LNK4099:未找到 PDB 的解决方案

    举例: "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. vs2013 Warning 44 warning LNK4099: PDB 'vc120.pdb' was not found with '

    Warning 20 warning LNK4099: PDB 'vc120.pdb' was not found with 'ABC.lib(XYZ.obj)' or at 'E:\test\Rel ...

  6. 去掉 VC2017里输出:warning LNK4099

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

  7. warning LNK4099: PDB 原因及解决方案

    warning LNK4099: PDB 原因及解决方案 参考文章: (1)warning LNK4099: PDB 原因及解决方案 (2)https://www.cnblogs.com/fqucuo ...

  8. 未加载 ntdll.pdb的可能错误原因

    未加载 ntdll.pdb的可能错误原因 原因一: 程序中的指针指向越界. 解决方案: 取消指针对非法地址的指向. 原因二: 试图对非 new 申请的内存用 delete 进行释放,只有用new申请的 ...

  9. 解决 Cocos2d-x 3.2 error C1041: 无法打开程序数据库vc120.pdb

    Cocos2d-x 3.2最高支持的VS版本为2012,我在VS2013上编译新建立的项目遇到错误: 错误 1 error C1041: 无法打开程序数据库"x:\cocos2d-x-3.2 ...

最新文章

  1. Linux 性能监控常用命令
  2. ganglia metric 默认监控项翻译
  3. 特殊命令eval的用法两例
  4. Windows下oracle RMAN备份脚本
  5. js正则表达式限制文本框只能输入数字,小数点,英文字母
  6. mtk pwmlinux timer
  7. java长时间_什么导致Java中长时间的旋转和同步时间?
  8. How can I force Python's file.write() to use the same newline format in Windows as in Linux (“\r\n”
  9. 辞职在家全职炒股需要什么条件?
  10. android gradle abi mips x86,APP_ABI := armeabi armeabi-v7a mips x86与= armeabi armeabi-v7a区别是?...
  11. xp系统怎么添加ntp服务器,1 Windows xp NTP服务器的配置
  12. 微信聊天记录生成词云图
  13. 金融、银行业务了解(自我盲点整理)
  14. html ios 视频播放不了,html中的video标签在ios微信中无法播放的解决方法之一
  15. xp打开html页面不正常,XP系统网页提示“已完毕 但网页上有错误”怎么办?
  16. inversion 矩阵_inversion是什么意思_inversion怎么读_inversion翻译_用法_发音_词组_同反义词_倒置-新东方在线英语词典...
  17. 单片机(STC12C5A60S2)内部PWM实现呼吸灯
  18. 共享单车靠什么赚钱?
  19. 【STM32】STM32之SWD
  20. java 抽象类 Shape

热门文章

  1. 使用kingSCADA3.53连接mysql数据库
  2. 五一劳动节 甩开压力“嗨”起来
  3. A_A05_002 sscom33串口调试助手使用
  4. 环信是否支持html,VUE项目集成环信WebIM即时通信以及所遇到的问题
  5. 四路抢答器的PLC程序设计
  6. eclipse中将背景颜色设置为护眼豆沙绿数值色调–85 饱和度–123 亮度–205
  7. 【产品经理】产品体验报告准备
  8. 【语音处理】用于音频盲源分离的谐波矢量分析 (HVA)(Matlab代码实现)
  9. 常见的网页播放器代码
  10. Java基础String类-字符串反转