C++: fatal error: Killed signal terminated program cc1plus的问题解决

Posted Y1皇_

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C++: fatal error: Killed signal terminated program cc1plus的问题解决相关的知识,希望对你有一定的参考价值。

我在编译PCL库的过程中,总因为内存不足的问题出现C++: fatal error: Killed signal terminated program cc1plus导致编译中断,如下图所示

在此提供几种解决方式:

①增加内存
因为我的ubuntu系统是安装在VMware虚拟机当中的,可以从虚拟机中设置增大内存。

但是我的总物理内存是8G,设置的内存已经有7G了,依然解决不了问题。

②增加SWAP交换空间
可以在终端中输入 free -m 查看一下SWAP交换空间的大小(这里也可以看内存的使用情况),我这里只有约2G。

这里网上写的方式有很多,我参考了此篇博文这里,和博文里有一点不同,我输入了语句su,增加权限。先创建临时分区:

sudo dd if=/dev/zero of=/swapfile bs=1G count=6
#count的大小就是增加的swap空间的大小,1G是块大小为1G,所以空间大小是bs*count=6G
sudo mkswap /swapfile
#把刚才空间格式化成swap格式
su
chmod 0600 /swapfile  
sudo swapon /swapfile
#使用刚才创建的swap空间

自己的程序编译完成后,可以什么也不用做保留当前大小的交换空间,也可以在终端输入 swapoff -a 释放临时增加的交换空间。

③减少进程数量
还有一种方式就是减少cmake编译时的进程数量,在此处我的设定是:

make -j4 //选择4个进程同时处理

可以再减少一些同时处理的进程,但是对于有些编译程序,时间会特别长(就比如编译PCL)。

Bug解决:出现C++:internal compiler error: killed(program cc1plus)

  • 最近在学习hyperscan过程中,安装的过程总是会出现

C++:internal compiler error: killed(program cc1plus)

  • 反复查找之后既不是版本问题也不是依赖问题,查阅了很多解决方案后,确认是交换空间不足,所以我们解决的方法是临时增加2G交换空间,解决问题

命令:sudo dd if=/dev/zero of=/swapfile bs=64M count=32
#count的大小就是增加的swap空间的大小,64M是块大小,所以空间大小是bs*count=2048MB
命令:sudo mkswap /swapfile
#把刚才空间格式化成swap格式
命令:chmod 0600 /swapfile
命令:sudo swapon /swapfile
#使用刚才创建的swap空间
命令:swapoff -a ——释放空间命令

安装成功

以上是关于C++: fatal error: Killed signal terminated program cc1plus的问题解决的主要内容,如果未能解决你的问题,请参考以下文章

Qt error: fatal error: Killed signal terminated program cc1plus

pandle报SystemError: (Fatal) Blocking queue is killed because the data reader raises an exception.

Bug解决:出现C++:internal compiler error: killed(program cc1plus)

Bug解决:出现C++:internal compiler error: killed(program cc1plus)

fatal error C1189: #error: STL1003: Unexpected compiler, expected C++ compiler

C++学习(三八五)fatal error: ‘json.h‘ file not found