【问题标题】:How to fix Failed to compile virtual memory to PCH?如何修复无法将虚拟内存编译到 PCH?
【发布时间】:2021-09-06 14:57:18
【问题描述】:

这几天这张照片真的很折磨我。

我自己创建了一个非常小的库。仅 400 kb 并用作库函数。

创建新项目并引用它以及使用头文件。但编译后我得到这个错误:

如何解决这个问题?这对我不起作用:

【问题讨论】:

  • 嗨@drescherjm,这个错误偶尔发生,大约30次构建后它再次出现一次。 set 1000 让我很震惊,因为我从来不需要设置 ZM。几天前它出现了,我尝试了 ZM100。我需要清理什么地方吗?
  • 嗨,@drescherjm 好的,我会尝试定期清洁它。希望它消失!

标签: c++ visual-studio visual-c++ precompiled-headers


【解决方案1】:

根据文档;Compiler Error C3859

从 Visual Studio 2015 开始,/Zm 建议仅 使用#pragma hdrstop 指令时很重要。在其他情况下, 这是一个虚假错误,表明 Windows 虚拟内存压力 问题。

如果您的预编译头文件使用 #pragma hdrstop 指令,请使用 /Zm 编译器标志为预编译头指定更大的值 文件。否则考虑减少并行编译次数 构建过程中的进程。

能否告诉我们您使用的是哪个版本的 Visual Studio?如果您遇到 PCH 文件错误,您可以做的最好的事情之一就是迁移到更新的 Visual C++ 编译器。我们在 VS 2015 和 VS 2017 中修复了许多 PCH 内存压力问题。

更多详情,我建议你可以参考链接:https://devblogs.microsoft.com/cppblog/precompiled-header-pch-issues-and-recommendations/

【讨论】:

  • 您好,我使用的是 vs2019-version16.8.5。我的项目是 setup c++​​17-platform v141。我不确定这个虚拟内存来自哪里?在我的库中使用 dllexport 声明了许多函数和类。是吗?这个错误是最近才出现的。
猜你喜欢
  • 2014-05-14
  • 2016-11-23
  • 2013-09-12
  • 2014-04-23
  • 1970-01-01
  • 1970-01-01
  • 2013-09-01
  • 2011-08-12
  • 2013-03-05
相关资源
最近更新 更多