自己在编译工程出现如下报错:
error: ‘optional’ in namespace ‘std’ does not name a template type
error: ‘chrono_literals’ is not a namespace-name
多次出现此编译error,在此记录一下:
根据第二张截图,可以定位到ros_motion_planning_pro/src/plugins/gazebo_plugins/pedestrian_visualizer_plugin/gazebo_ped_visualizer_plugin/CMakeLists.txt
文件中添加
add_compile_options(-std=c++17)
# 或
set(CMAKE_CXX_STANDARD 17)
注意:放在find_package{}之前。
原因可能是:std::optional 是C++17中专有。