Warning 20 warning LNK4099: PDB 'vc120.pdb' was not found with 'ABC.lib(XYZ.obj)' or at 'E:\test\Release\vc120.pdb'; linking object as if no debug info
调用第三方静态库,生成一堆调试信息
解决方案:在工程属性页 配置 release 平台 活动(win32)设置:
配置属性 -> 链接器 -> 调试 -> 生成调试信息 -> 否
参考 :
https://docs.microsoft.com/en-us/cpp/build/reference/debug-generate-debug-info?redirectedfrom=MSDN&view=vs-2019
Modify the
Generate Full Program Database File
property to enable /DEBUG:FULL for full PDB generation for every incremental build.
举例: “
warning
LNK
4099: 未找到
PDB
“vc120.
pdb
”(使用“sqlite3d.lib(sqlite3secure.obj)”或在“D:\test\Debug\vc120.
pdb
”中寻找);正在链接对象,如同没有调试信息一样”。
使用VC时链接了第三方静态库, 并且第三方静态库(一般是开源的三方库)是在一个solution下的多个project, 当然, 网上基本都是这么回答的, 其实本质原因是因为这些开源库一般都会通过各种方式修改solution和project的默认路径把二进.
0x00 现象及原因
举例:
warning
LNK
4099:
PDB
'
wxbase30ud.
pdb'
was not found with
'
wxbase30ud.lib(any.obj)
'
使用VC时链接了三方静态库, 并且三方静态库(一般是开源的三方库)是在一个solution下的多个project, 当然, 网上基本都是这么回答的, 其实本质原因是因为这些开源库一般都会通过各种方式修
举例: “
warning
LNK
4099: 未找到
PDB
“vc120.
pdb
”(使用“sqlite3d.lib(sqlite3secure.obj)”或在“D:\test\Debug\vc120.
pdb
”中寻找);正在链接对象,如同没有调试信息一样”。
使用VC时链接了第三方静态库, 并且第三方静态库(一般是开源的三方库)是在一个solution下的多个project, 当然, 网上基本都是这么
解决办法:
方法1:禁用警告4099,或禁用调试信息(在属性->链接器->调试->生成调试信息)
方法2:保留
pdb
文件(在属性->C/C++->输出文件->程序数据库文件名->$(
解决办法:
方法1:禁用警告4099,或禁用调试信息(在属性->链接器->调试->生成调试信息)
方法2:保留
pdb
文件(在属性->C/C++->输出文件->程序数据库文件名->$(OutDir)$(TargetName).
pdb
,生成的
pdb
文件将同库在同一目录)
解决建议:
建议采用方法2,debug主要就
一、在
VS
2008工程中,经常出现
warning
LNK
4099: 未找到
PDB
“vc90.
pdb
等问题,解决办法如下:
1. 在项目属性—C/C++—输出文件—程序数据库文件名后面填写$(IntDir)\vc80.
pdb
。
2. 在项目属性—连接器—调试—生成调试信息后面改成“否”。