我正在尝试在 Visual Studio 2005 中为 Windows XP 构建解决方案。该解决方案包含 81 个项目(静态库、exe、dll),并且正在被我们的合作伙伴成功使用。我从他们的存储库中复制了解决方案包,并尝试在我们组中 3 台类似的机器上设置它。我在两台机器上都成功了,但解决方案无法在我的机器上构建。
我机器上的构建遇到了两个问题:
在最大静态库(调试模式下约为 522Mb)的简单构建过程中,将失败并显示消息“13>libd\ui1d.lib:致命错误 LNK1106:无效文件或磁盘已满:无法查找 0x20101879”
完整的解决方案重建创建了这个库,但是在将库链接到主 .exe 文件时,devenv.exe 会生成 link.exe,它消耗大约 80Mb 的物理内存和 250MB 的虚拟内存并生成另一个 link.exe,它的作用相同. 这种情况一直持续到系统内存不足。在可以成功构建的同事的 PC 上,只有一个 link.exe 进程使用链接所需的所有内存(大约 500Mb 物理内存)。
我的机器上有足够的硬盘空间,文件系统是 NTFS。
我们所有的三个系统都是相似的——Core2Quad 处理器、4Gb RAM、Windows XP SP3。我们正在使用从同一来源安装的 Visual Studio。
我尝试使用不同的 RAM 和 CPU,使用专用图形适配器来消除影响构建的视频内存共享的可能性,将解决方案文件放在不同的位置,使用不同版本的 VS 2005(专业版、标准版和团队套件),改变数量可用的虚拟内存,运行 memtest86 并从头开始构建项目(即一个干净的包)。
我已经阅读了 MSDN 关于 LNK1106的说法,除了“堆空间不足”之外,没有任何情况适用于我,但是我不确定我应该如何解决这个问题。
我留下的唯一想法是重新安装操作系统,但是我不确定它是否会有所帮助,我不确定我的情况不会在另一台机器上重演。
有人对我有什么建议吗?
谢谢