SYSU-RoboticsLab / FAEL

FAEL: Fast Autonomous Exploration for Large-Scale Environments with a Mobile Robot
182 stars 19 forks source link

编译错误 #15

Open darlingbenke opened 5 months ago

darlingbenke commented 5 months ago

[ 98%] Built target exploration_data [ 98%] Built target topo_planner_node In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qnamespace.h:43, from /usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs.h:48, from /usr/include/x86_64-linux-gnu/qt5/QtCore/qobject.h:46, from /usr/include/x86_64-linux-gnu/qt5/QtCore/QObject:1, from /opt/ros/noetic/include/rviz/properties/property.h:34, from /opt/ros/noetic/include/rviz/properties/status_property.h:32, from /opt/ros/noetic/include/rviz/display.h:38, from /home/rl/fael_ws/src/FAEL/3rdparty/ufomap/ufomap_ros/ufomap_rviz_plugins/include/ufomap_rviz_plugins/ufomap_display.h:56, from /home/rl/fael_ws/src/FAEL/3rdparty/ufomap/ufomap_ros/ufomap_rviz_plugins/src/ufomap_display.cpp:44: /usr/include/x86_64-linux-gnu/qt5/QtCore/qobject.h: In instantiation of ‘static typename std::enable_if<(QtPrivate::FunctionPointer::ArgumentCount == -1), QMetaObject::Connection>::type QObject::connect(const typename QtPrivate::FunctionPointer::Object, Func1, const QObject, Func2, Qt::ConnectionType) [with Func1 = void (rviz::Property::)(); Func2 = std::nullptr_t; typename std::enable_if<(QtPrivate::FunctionPointer::ArgumentCount == -1), QMetaObject::Connection>::type = QMetaObject::Connection; typename QtPrivate::FunctionPointer::Object = rviz::Property]’: /opt/ros/noetic/include/rviz/properties/property.h:187:94: required from ‘typename std::enable_if<(! QtPrivate::FunctionPointer::IsPointerToMemberFunction), QMetaObject::Connection>::type rviz::Property::connect(const QObject, Func&&, Qt::ConnectionType) [with Func = std::nullptr_t; typename std::enable_if<(! QtPrivate::FunctionPointer::IsPointerToMemberFunction), QMetaObject::Connection>::type = QMetaObject::Connection]’ /opt/ros/noetic/include/rviz/properties/string_property.h:56:5: required from ‘rviz::StringProperty::StringProperty(const QString&, const QString&, const QString&, rviz::Property, Func&&, const R) [with Func = std::nullptr_t; R = ufomap_ros::rviz_plugins::UFOMapDisplay]’ /home/rl/fael_ws/src/FAEL/3rdparty/ufomap/ufomap_ros/ufomap_rviz_plugins/src/ufomap_display.cpp:80:88: required from here /usr/include/x86_64-linux-gnu/qt5/QtCore/qobject.h:314:9: error: static assertion failed: Signal and slot arguments are not compatible. 314 | Q_STATIC_ASSERT_X((FunctorArgumentCount >= 0), | ^~~~~ In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs.h:50, from /usr/include/x86_64-linux-gnu/qt5/QtCore/qobject.h:46, from /usr/include/x86_64-linux-gnu/qt5/QtCore/QObject:1, from /opt/ros/noetic/include/rviz/properties/property.h:34, from /opt/ros/noetic/include/rviz/properties/status_property.h:32, from /opt/ros/noetic/include/rviz/display.h:38, from /home/rl/fael_ws/src/FAEL/3rdparty/ufomap/ufomap_ros/ufomap_rviz_plugins/include/ufomap_rviz_plugins/ufomap_display.h:56, from /home/rl/fael_ws/src/FAEL/3rdparty/ufomap/ufomap_ros/ufomap_rviz_plugins/src/ufomap_display.cpp:44: /usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs_impl.h: In instantiation of ‘struct QtPrivate::FunctorReturnType<std::nullptr_t, QtPrivate::List<> >’: /usr/include/x86_64-linux-gnu/qt5/QtCore/qobject.h:317:158: required from ‘static typename std::enable_if<(QtPrivate::FunctionPointer::ArgumentCount == -1), QMetaObject::Connection>::type QObject::connect(const typename QtPrivate::FunctionPointer::Object, Func1, const QObject, Func2, Qt::ConnectionType) [with Func1 = void (rviz::Property::)(); Func2 = std::nullptr_t; typename std::enable_if<(QtPrivate::FunctionPointer::ArgumentCount == -1), QMetaObject::Connection>::type = QMetaObject::Connection; typename QtPrivate::FunctionPointer::Object = rviz::Property]’ /opt/ros/noetic/include/rviz/properties/property.h:187:94: required from ‘typename std::enable_if<(! QtPrivate::FunctionPointer::IsPointerToMemberFunction), QMetaObject::Connection>::type rviz::Property::connect(const QObject, Func&&, Qt::ConnectionType) [with Func = std::nullptr_t; typename std::enable_if<(! QtPrivate::FunctionPointer::IsPointerToMemberFunction), QMetaObject::Connection>::type = QMetaObject::Connection]’ /opt/ros/noetic/include/rviz/properties/string_property.h:56:5: required from ‘rviz::StringProperty::StringProperty(const QString&, const QString&, const QString&, rviz::Property, Func&&, const R) [with Func = std::nullptr_t; R = ufomap_ros::rviz_plugins::UFOMapDisplay]’ /home/rl/fael_ws/src/FAEL/3rdparty/ufomap/ufomap_ros/ufomap_rviz_plugins/src/ufomap_display.cpp:80:88: required from here /usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs_impl.h:367:52: error: request for member ‘operator()’ in ‘QtPrivate::FunctorReturnType<std::nullptr_t, QtPrivate::List<> >::dummy()’, which is of non-class type ‘std::nullptr_t’ 367 | typedef decltype(dummy().operator()((dummy())...)) Value; | ~~~~~~^ make[2]: [FAEL/3rdparty/ufomap/ufomap_ros/ufomap_rviz_plugins/CMakeFiles/ufomap_rviz_plugins.dir/build.make:80:FAEL/3rdparty/ufomap/ufomap_ros/ufomap_rviz_plugins/CMakeFiles/ufomap_rviz_plugins.dir/src/ufomap_display.cpp.o] 错误 1 make[1]: [CMakeFiles/Makefile2:15015:FAEL/3rdparty/ufomap/ufomap_ros/ufomap_rviz_plugins/CMakeFiles/ufomap_rviz_plugins.dir/all] 错误 2 make: *** [Makefile:141:all] 错误 2 Invoking "make -j28 -l28" failed

在编译文件的时候出现了错误 /usr/include/x86_64-linux-gnu/qt5/QtCore/qobject.h:314:9: error: static assertion failed: Signal and slot arguments are not compatible. 314 | Q_STATIC_ASSERT_X((FunctorArgumentCount >= 0), 没有找到相关资料,请问该如何解决,谢谢

hjlstudy commented 5 months ago

ufomap_ros/ufomap_rviz_plugins 这个是rviz的可视化插件,具体我们也不清楚如何开发的,但是可以通过遍历ufomap的叶子节点,发布point cloud 消息的方法可视化,就可以不用编译这个ros包