SYSU-RoboticsLab / FAEL

FAEL: Fast Autonomous Exploration for Large-Scale Environments with a Mobile Robot

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

编译错误

darlingbenke opened this issue · comments

[ 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<> >::dummystd::nullptr_t()’, 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),
没有找到相关资料,请问该如何解决,谢谢

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