添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

出现这个问题,原因无非是路径错误,有两种解决方案

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

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

出现这个问题,原因无非是路径错误,有两种解决方案1.如果确认不需要PDB, 即不需要调试开源库, 完全可以在设置里将/Zi或/ZI去掉, 这样即能消除warning也能提升开源库编译速度2.如果需要调试开源库, 方法也不复杂(1). 将开源库project里的C/C++->General->Debug Information Format 设置为Zi或ZI(两者区别请自行google,... 解决:可参考微软官网的解决办法,网址如下 https://docs.microsoft.com/zh-cn/cpp/error-messages/tool-errors/ li nker-tools- warning - lnk4099 具体的步骤是:...
一、在VS2008工程中,经常出现 warning LNK4099 : 未找到 PDB “vc90. pdb 等问题,解决办法如下: 1. 在项目属性—C/C++—输出文件—程序数据库文件名后面填写$(IntDir)\vc80. pdb 。 2. 在项目属性—连接器—调试—生成调试信息后面改成“否”。
错误 原因 : 人为删除了vc100. pdb 文件.一般这个文件生成在debug下 解决办法: 方法1:禁用警告4099,或禁用调试信息(在属性->链接器->调试->生成调试信息) 方法2:保留 pdb 文件(在属性->C/C++->输出文件->程序数据库文件名->$( 具体问题: 1>qtmain. lib (qtmain_win. obj ) : error LNK2019: 无法解析的外部符号 _main,该符号在函数 _WinMain@16 中被引用 1>../../EXE/\ManagerSyst... 第一:需要了解的知识,微软有一种文件 PDB (Program Debug Database)程序调试数据,它的作用是记录所编译的程序的调试信息的,例如哪个符号在哪一行出现等内容。简言之,微软的Debug版本程序中在默认情况下都要对“它所编译出的内容”生成这个 PDB 文件。 第二:如果程序需要引入外部的[b]静态库[/b],那么在Debug版本中,
修改库文件编译选项为默认即可, 目标程序的与库设置为一样, 单多个Project是分开编译的,主项目和子项目的 pdb 文件名不相同(默认都是vc90. pdb 或vc100. pdb )从而造成找不到调试信息. 警告: warning LNK4099 : 未找到 PDB “vc90. pdb
举例: “ warning LNK4099 : 未找到 PDB “vc120. pdb ”(使用“sq li te3d. lib (sq li te3secure. obj )”或在“D:\test\Debug\vc120. pdb ”中寻找);正在链接对象,如同没有调试信息一样”。 使用VC时链接了第三方静态库, 并且第三方静态库(一般是开源的三方库)是在一个solution下的多个project, 当然, 网上基本都是这么