PCL编译报错(c++: internal compile error)解决方案

一、问题:
使用英伟达或电脑编译PCL时,报错c++: internal compile error: Killed(program cc1plus)

c++: internal compiler error: Killed (program cc1plus)
Please submit a full bug report,
with preprocessed source if appropriate.
See <file:///usr/share/doc/gcc-7/README.Bugs> for instructions.
sample_consensus/CMakeFiles/pcl_sample_consensus.dir/build.make:158: recipe for target 'sample_consensus/CMakeFiles/pcl_sample_consensus.dir/src/sac_model_cone.cpp.o' failed
make[2]: *** [sample_consensus/CMakeFiles/pcl_sample_consensus.dir/src/sac_model_cone.cpp.o] Error 4
make[2]: *** Waiting for unfinished jobs.
报错信息.png

二、原因:
编译PCL内存不足导致,英伟达nano主板(jetson nano) 内存只有4G,swap默认2GB,编译PCL时内存不足导致报错;
三、解决方案:
增加swap临时分区,之前是内存4G+2G swap,再创建2G swap
查看交换空间:

free -m

备注:另外建议编译采用make -j2或make,make -j4容易导致内存不足
步骤:

1、创建swap分区文件 swapfile,其中bs代表块大小,swap空间=bs * count,推荐bs设为64M,测试发现2M编译速度比较慢

sudo dd if=/dev/zero of=/root/swapfile bs=2M count=1024

2、将swapfile格式化为交换分区文件

sudo mkswap /root/swapfile

3、启用swapfile

sudo swapon /root/swapfile

4、关闭交换空间

sudo swapoff /root/swapfile
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容