当构建一个大的C++/Fortran应用程序时,我最近几乎每个C++对象文件都开始出现LNK4099错误。例如很多个别目标文件的LNK4099错误,Visual Studio 2015
Cfile.obj : warning LNK4099: PDB 'lnk{3FE844DB-7378-4485-9D93-6B1B48386536}.tmp' was not found with 'Cfile.obj' or at 'C:MyApp\x64\Debug\lnk{3FE844DB-7378-4485-9D93-6B1B48386536}.tmp'; linking object as if no debug info
与以前的帖子不同,这不是由于库缺少PDB信息;带有错误的文件都是我自己的源代码,并且是新建的。
这是在64位Windows 7下构建的Visual Studio 2015。调试和发布版本都会出现此问题。调试版本的选项是C++:/ Zi/Od;链接器:/ DEBUG,生成完整的程序数据库文件。
该应用程序是C++,使用由Fortran XE2017创建的Fortran库,并使用/ debug:full构建。链接到Microsoft库(MFC,msimg32.lib,nafxcwd.lib,libcmtd.lib等)是静态的。
如果我使用F7(Build/Compile)编译单个C++源文件AFile.cpp,然后构建项目,除了AFile.obj没有任何内容之外,我会得到所有相同的错误。 AFile的调试信息位于应用程序的PDB中(我可以设置断点)。有错误的文件在应用程序的PDB中缺少调试信息(如错误消息所述),并且我无法设置断点。
什么设置或配置可能会导致这种神秘的行为?小项目我没有这个问题。
你有多少内存,你让Windows设置交换文件大小?多少磁盘空间?这只是要检查,我有(不同)链接器失败试图建立与8 GB的RAM的铬。 –
32 GB RAM,2.9 TB空闲磁盘。 Windows设置交换文件大小。 – Woody20