make px4_sitl_default gazebo报错,如何解决?(语言-bash)

ubuntu20.04进行PX4环境编译报错
在执行make px4_sitl_default gazebo,出现以下错误


-- Generating done
-- Build files have been written to: /home/xuezheye/文档/PX4-Autopilot/build/px4_sitl_default/build_gazebo
[7/11] Performing build step for 'sitl_gazebo'
[1/128] Building CXX object CMakeFiles/mav_msgs.dir/CommandMotorSpeed.pb.cc.o
FAILED: CMakeFiles/mav_msgs.dir/CommandMotorSpeed.pb.cc.o 
/usr/bin/c++ -DBOOST_ALL_NO_LIB -DBOOST_ATOMIC_DYN_LINK -DBOOST_DATE_TIME_DYN_LINK -DBOOST_FILESYSTEM_DYN_LINK -DBOOST_IOSTREAMS_DYN_LINK -DBOOST_PROGRAM_OPTIONS_DYN_LINK -DBOOST_REGEX_DYN_LINK -DBOOST_SYSTEM_DYN_LINK -DBOOST_TEST_DYN_LINK -DBOOST_THREAD_DYN_LINK -DLIBBULLET_VERSION=2.88 -DLIBBULLET_VERSION_GT_282 -Dmav_msgs_EXPORTS -I/home/xuezheye/文档/PX4-Autopilot/Tools/sitl_gazebo/include -I/home/xuezheye/文档/PX4-Autopilot/build/px4_sitl_default/build_gazebo -I/usr/include/eigen3/eigen3 -I/usr/include/gazebo-11/gazebo/msgs -I/home/xuezheye/文档/PX4-Autopilot/build/px4_sitl_default/mavlink -I/usr/include/Paging -I/home/xuezheye/文档/PX4-Autopilot/Tools/sitl_gazebo/external/OpticalFlow/include -I/usr/include/gstreamer-1.0 -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -isystem /usr/include/gazebo-11 -isystem /usr/include/bullet -isystem /usr/include/simbody -isystem /usr/include/sdformat-9.10 -isystem /usr/include/ignition/math6 -isystem /usr/include/OGRE -isystem /usr/include/OGRE/Terrain -isystem /usr/include/OGRE/Paging -isystem /usr/include/ignition/transport8 -isystem /usr/include/ignition/msgs5 -isystem /usr/include/ignition/common3 -isystem /usr/include/ignition/fuel_tools4 -isystem /home/xuezheye/anaconda3/include/qt -isystem /home/xuezheye/anaconda3/include/qt/QtCore -isystem /home/xuezheye/anaconda3/./mkspecs/linux-g++ -isystem /usr/include/eigen3 -isystem /usr/include/opencv4 -isystem /usr/include/sdformat-9.10/sdf/.. -isystem /usr/include/ignition/cmake2 -isystem /usr/include/uuid -O2 -g -DNDEBUG -fPIC -Wno-deprecated-declarations -Wno-address-of-packed-member -I/usr/include/uuid -std=gnu++17 -MD -MT CMakeFiles/mav_msgs.dir/CommandMotorSpeed.pb.cc.o -MF CMakeFiles/mav_msgs.dir/CommandMotorSpeed.pb.cc.o.d -o CMakeFiles/mav_msgs.dir/CommandMotorSpeed.pb.cc.o -c '/home/xuezheye/文档/PX4-Autopilot/build/px4_sitl_default/build_gazebo/CommandMotorSpeed.pb.cc'
In file included from /home/xuezheye/文档/PX4-Autopilot/build/px4_sitl_default/build_gazebo/CommandMotorSpeed.pb.cc:4:
/home/xuezheye/文档/PX4-Autopilot/build/px4_sitl_default/build_gazebo/CommandMotorSpeed.pb.h:10:10: fatal error: google/protobuf/port_def.inc: 没有那个文件或目录
   10 | #include <google/protobuf/port_def.inc>
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
ninja: build stopped: subcommand failed.
FAILED: external/Stamp/sitl_gazebo/sitl_gazebo-build /home/xuezheye/文档/PX4-Autopilot/build/px4_sitl_default/external/Stamp/sitl_gazebo/sitl_gazebo-build 
cd /home/xuezheye/文档/PX4-Autopilot/build/px4_sitl_default/build_gazebo && /usr/bin/cmake --build /home/xuezheye/文档/PX4-Autopilot/build/px4_sitl_default/build_gazebo -- -j 1
ninja: build stopped: subcommand failed.
make: *** [Makefile:230:px4_sitl_default] 错误 1

怎么办啊??

  • 这篇文章讲的很详细,请看:PX4模块设计之七:Ubuntu 20.04搭建Gazebo模拟器
  • 除此之外, 这篇博客: make px4_sitl_default gazebo 建立PX4仿真环境的各种坑中的 二、编译 make px4_sitl_default gazebo 错误 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • 编译时候总是出现一个 关于iris 加载问题的错误,然后百度还查不到。

      主要是这个错误:

     Generating /home/jiang/volans/Firmware/Tools/sitl_gazebo/models/iris/iris.sdf 后面还有很长的描述

     遇事不决,就是更新,因为这个错误没有具体提示,也没告诉我缺少什么。

    然后执行更新三部曲:

    固件文件夹下先更新下

    make clean
    
    sudo apt-get update
    
    sudo apt-get upgrade

    最后没有编译错误啦。