cpp:vWork:资源暂时不可用 我有一个奇怪的问题,我刚用C++得到。

cpp:vWork:资源暂时不可用 我有一个奇怪的问题,我刚用C++得到。,c++,C++,当我编译我的程序时,我得到以下信息: cpp:vWork:资源暂时不可用 它在SCO中,但我不确定它是否只是一个SCO的东西,或者它可能与所有Linux系统有关 我看过几个网站,他们说可能是“基本上g++正在尝试创建(fork)一个新进程,而内核说不” 我问了这个问题,他们说在这里问 编辑 我尝试补充: #define vfork fork 错误消息来自编译器本身,与正在编译的程序中的源代码没有直接关系。事实上,由于编译器无法启动cpp进程,您的源代码(可能)还没有被查看。有点不寻常的是,cp

当我编译我的程序时,我得到以下信息:

cpp:vWork:资源暂时不可用

它在SCO中,但我不确定它是否只是一个SCO的东西,或者它可能与所有Linux系统有关

我看过几个网站,他们说可能是“基本上g++正在尝试创建(fork)一个新进程,而内核说不”

我问了这个问题,他们说在这里问

编辑

我尝试补充:

#define vfork fork

错误消息来自编译器本身,与正在编译的程序中的源代码没有直接关系。事实上,由于编译器无法启动
cpp
进程,您的源代码(可能)还没有被查看。有点不寻常的是,
cpp
报告为进程名称;我希望它是启动
cpp
cc
编译器驱动程序(因此它通常会报告
cc:vfork:Resource temporary unavailable


基本上,机器正在尝试做太多的事情,并且没有剩余的资源来进行新的进程。如果您正在运行一个
make-j8
来进行并行编译,也许您应该将
8
减少到
4
。否则,请查看机器上还有哪些可以停止的操作。

请张贴您的code@Claudio通常是很好的建议,但似乎与这个问题无关。可能任何代码都有这个问题。@Claudio抱歉,这是私有代码。看起来C预处理器在分配新的子进程时有问题。也许它试图处理一个非常大的包含树来容纳内存?@Claudio这不是关于OPs可执行文件的问题,而是编译过程本身在
vWork()
上失败,特别是预处理器。是的,我刚刚查看了所有正在运行的处理器,没有看到任何一个进程可以直接终止(看起来它们都是必需的)。在这种情况下,您有一个问题。是时候升级计算机上的可用内存了?是时候获得一台新计算机了?是时候配置更多的交换空间了?是时候在另一台负载不那么重的计算机上编译了?不完全清楚您正在耗尽哪些资源。可能是因为您正在运行的进程太多了。无论如何,不是吗“机器太忙”的诊断是正确的——这只是细节。(顺便说一句,我注意到SCO Unix根本不是Linux。它们提供的功能基本相同,但它们是完全独立的代码库。)我将内存从1GB升级到2GB,但仍然有这个问题——似乎我卡住了:/我将尝试取消一个进程(PID)如果它导致问题,我将重新启动机器-它是一个虚拟机你曾经能够编译VM上的C++吗?关于编译的代码有什么新的或不寻常的(试图编译)与以前编译过的代码相比?是否存在大规模的模板元编程,例如,要求编译器在编译时进行计算?建议这样做几乎是犯罪行为(我仍然记得我的机器从1MIB升级到2MIB时得到的性能提升-是的,兆字节!-30多年前),但是你能用虚拟机内存更大吗?虚拟机中还有其他运行的吗?只是一个文件会导致问题吗?到目前为止,它只是一个文件,但是如果我修复了这个问题,那么可能还有另一个文件会导致问题。我可以将内存增加到更多,大约8GB,但它不需要那么多。我正在尝试重新安装gcc,看看这是否有什么不同。