g++: internal compiler error: Killed (program cc1plus)
编译工程的时候中途出现标题中的错误,之前以为是硬盘空间不足,因为Ubuntu是虚拟出来的,编译的工程所在的目录硬盘空间小,而且编译出来的文件在debug模式有300M之多。就清理了硬盘空间,但是还是出错,经过查找发现了问题的原因:内存不足
解决方法就是创建临时交换空间swap:
sudo dd if=/dev/zero of=/swapfile bs=64M count=16
sudo mkswap /swapfile
sudo swapon /swapfile
注意在第三步可能出现的错误警告:
swapon: /swapfile: insecure permissions 0644, 0600 suggested.
此时需要更改创建的swapfile的权限:
sudo chmod 600 swapfile
编译结束之后想要恢复的话可以执行下面的命令:
sudo swapoff /swapfile
sudo rm /swapfile