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

C++: fatal error: Killed signal terminated program cc1plus的问题解决,第1张

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

在此提供几种解决方式:

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

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

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

这里网上写的方式有很多,我参考了此篇博文这里,先创建临时分区:

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)。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1354109.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-14
下一篇 2022-06-14

发表评论

登录后才能评论

评论列表(0条)

保存