#374·ORB_SLAM3

Build Error with Pangolin

Author: bytemaniCreated Aug 30, 2021Updated Sep 4, 2026

Hi, I met many errors related with Pangolin (version 0.6) as below. Any one knows what is going on? Thank you. My working environment is ubuntu 18.04.

[ 59%] Building CXX object CMakeFiles/ORB_SLAM3.dir/src/ORBmatcher.cc.o [ 60%] Building CXX object CMakeFiles/ORB_SLAM3.dir/src/LoopClosing.cc.o In file included from /home/guliang/slam/Pangolin/components/pango_core/include/pangolin/utils/signal_slot.h:3:0, from /home/guliang/slam/Pangolin/components/pango_windowing/include/pangolin/windowing/window.h:34, from /home/guliang/slam/Pangolin/components/pango_display/include/pangolin/display/display.h:34, from /home/guliang/slam/Pangolin/components/pango_core/include/pangolin/pangolin.h:38, from /home/guliang/ORB_SLAM3/include/Map.h:27, from /home/guliang/ORB_SLAM3/include/KeyFrameDatabase.h:30, from /home/guliang/ORB_SLAM3/include/KeyFrame.h:29, from /home/guliang/ORB_SLAM3/include/MapPoint.h:23, from /home/guliang/ORB_SLAM3/src/MapPoint.cc:19: /home/slam/Pangolin/components/pango_core/include/signals/signals.hpp:257:17: error: ‘auto’ parameter not permitted in this context template<auto PMF, class C> ^~~ /home/slam/Pangolin/components/pango_core/include/signals/signals.hpp:269:17: error: ‘auto’ parameter not permitted in this context template ^~~~ /home/slam/Pangolin/components/pango_core/include/signals/signals.hpp: In member function ‘fteng::connection_raw fteng::signal<void(A ...)>::connect(C*) const’: /home/slam/Pangolin/components/pango_core/include/signals/signals.hpp:261:36: error: forming reference to void auto& call = calls.emplace_back(); ^ /home/slam/Pangolin/components/pango_core/include/signals/signals.hpp: In lambda function: /home/slam/Pangolin/components/pango_core/include/signals/signals.hpp:263:101: error: ‘PMF’ was not declared in this scope call.func = reinterpret_cast<void*>(+[](void* obj, A ... args) {((*reinterpret_cast<C**>(obj))->PMF)(args...); }); ^~~ /home/slam/Pangolin/components/pango_core/include/signals/signals.hpp: In member function ‘fteng::connection_raw fteng::signal<void(A ...)>::connect() const’: /home/slam/Pangolin/components/pango_core/include/signals/signals.hpp:272:19: error: ‘func’ was not declared in this scope return connect(func); ^~~~ /home/slam/Pangolin/components/pango_core/include/signals/signals.hpp:272:19: note: suggested alternative: ‘sync’ return connect(func); ^~~~ sync /home/slam/Pangolin/components/pango_core/include/signals/signals.hpp: In member function ‘fteng::connection_raw fteng::signal<void(A ...)>::connect(void ()(A ...)) const’: /home/slam/Pangolin/components/pango_core/include/signals/signals.hpp:278:36: error: forming reference to void auto& call = calls.emplace_back(); ^ /home/slam/Pangolin/components/pango_core/include/signals/signals.hpp: In member function ‘fteng::connection_raw fteng::signal<void(A ...)>::connect(F&&) const’: /home/slam/Pangolin/components/pango_core/include/signals/signals.hpp:289:23: error: ‘is_convertible_v’ is not a member of ‘std’ if constexpr (std::is_convertible_v<f_type, void(*)(A...)>) ^~~~~~~~~~~~~~~~