美文网首页
PCL编译报错(c++: internal compile er

PCL编译报错(c++: internal compile er

作者: 柳白之道 | 来源:发表于2022-04-12 12:55 被阅读0次

    一、问题:
    使用英伟达或电脑编译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
    

    相关文章

      网友评论

          本文标题:PCL编译报错(c++: internal compile er

          本文链接:https://www.haomeiwen.com/subject/leogsrtx.html