PlotJuggler / plotjuggler-mqtt

MIT License
11 stars 0 forks source link

Cannot Build plotjuggler-mqtt #3

Open xManjunathPatilx opened 8 months ago

xManjunathPatilx commented 8 months ago

I'm not able to build the packages because of the below error.

[ 79%] Building CXX object paho.mqtt.c/src/CMakeFiles/paho-mqtt3a-static.dir/paho-mqtt3a-static_autogen/mocs_compilation.cpp.o [ 82%] Building C object paho.mqtt.c/src/CMakeFiles/paho-mqtt3a-static.dir/MQTTAsync.c.o [ 84%] Building C object paho.mqtt.c/src/CMakeFiles/paho-mqtt3a-static.dir/MQTTAsyncUtils.c.o [ 87%] Linking CXX static library libpaho-mqtt3a.a [ 87%] Built target paho-mqtt3a-static Scanning dependencies of target DataStreamMQTT_autogen [ 89%] Automatic MOC and UIC for target DataStreamMQTT [ 89%] Built target DataStreamMQTT_autogen [ 92%] Generating ui_datastream_mqtt.h Scanning dependencies of target DataStreamMQTT [ 94%] Building CXX object CMakeFiles/DataStreamMQTT.dir/DataStreamMQTT_autogen/mocs_compilation.cpp.o [ 97%] Building CXX object CMakeFiles/DataStreamMQTT.dir/DataStreamMQTT/datastream_mqtt.cpp.o /home/void/Downloads/software/plotjuggler-mqtt/DataStreamMQTT/datastream_mqtt.cpp: In function ‘int MessageArrived(void*, char*, int, MQTTAsync_message*)’: /home/void/Downloads/software/plotjuggler-mqtt/DataStreamMQTT/datastream_mqtt.cpp:88:26: error: ‘class DataStreamMQTT’ has no member named ‘availableParsers’ 88 | auto parser = _this->availableParsers()->at( _this->_protocol )->createInstance({}, _this->dataMap()); | ^~~~~~~~~~~~~~~~ /home/void/Downloads/software/plotjuggler-mqtt/DataStreamMQTT/datastream_mqtt.cpp:89:54: error: no matching function for call to ‘std::unordered_map<std::__cxx11::basic_string<char>, std::shared_ptr<PJ::MessageParser> >::insert(<brace-enclosed initializer list>)’ 89 | it = _this->_parsers.insert( {topicName, parser} ).first; | ^ In file included from /usr/include/c++/9/unordered_map:47, from /usr/include/c++/9/functional:61, from /usr/include/c++/9/pstl/glue_algorithm_defs.h:13, from /usr/include/c++/9/algorithm:71, from /usr/include/x86_64-linux-gnu/qt5/QtCore/qglobal.h:142, from /usr/include/x86_64-linux-gnu/qt5/QtGui/qtguiglobal.h:43, from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qtwidgetsglobal.h:43, from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qdialog.h:43, from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QDialog:1, from /home/void/Downloads/software/plotjuggler-mqtt/DataStreamMQTT/datastream_mqtt.h:4, from /home/void/Downloads/software/plotjuggler-mqtt/DataStreamMQTT/datastream_mqtt.cpp:1: /usr/include/c++/9/bits/unordered_map.h:438:7: note: candidate: ‘std::unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::insert_return_type std::unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::insert(std::unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::node_type&&) [with _Key = std::__cxx11::basic_string<char>; _Tp = std::shared_ptr<PJ::MessageParser>; _Hash = std::hash<std::__cxx11::basic_string<char> >; _Pred = std::equal_to<std::__cxx11::basic_string<char> >; _Alloc = std::allocator<std::pair<const std::__cxx11::basic_string<char>, std::shared_ptr<PJ::MessageParser> > >; std::unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::insert_return_type = std::_Node_insert_return<std::__detail::_Node_iterator<std::pair<const std::__cxx11::basic_string<char>, std::shared_ptr<PJ::MessageParser> >, false, true>, std::_Node_handle<std::__cxx11::basic_string<char>, std::pair<const std::__cxx11::basic_string<char>, std::shared_ptr<PJ::MessageParser> >, std::allocator<std::__detail::_Hash_node<std::pair<const std::__cxx11::basic_string<char>, std::shared_ptr<PJ::MessageParser> >, true> > > >; std::unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::node_type = std::_Node_handle<std::__cxx11::basic_string<char>, std::pair<const std::__cxx11::basic_string<char>, std::shared_ptr<PJ::MessageParser> >, std::allocator<std::__detail::_Hash_node<std::pair<const std::__cxx11::basic_string<char>, std::shared_ptr<PJ::MessageParser> >, true> > >]’ 438 | insert(node_type&& __nh) | ^~~~~~ /usr/include/c++/9/bits/unordered_map.h:438:26: note: no known conversion for argument 1 from ‘<brace-enclosed initializer list>’ to ‘std::unordered_map<std::__cxx11::basic_string<char>, std::shared_ptr<PJ::MessageParser> >::node_type&&’ {aka ‘std::_Node_handle<std::__cxx11::basic_string<char>, std::pair<const std::__cxx11::basic_string<char>, std::shared_ptr<PJ::MessageParser> >, std::allocator<std::__detail::_Hash_node<std::pair<const std::__cxx11::basic_string<char>, std::shared_ptr<PJ::MessageParser> >, true> > >&&’} 438 | insert(node_type&& __nh) | ~~~~~~~~~~~~^~~~ /usr/include/c++/9/bits/unordered_map.h:443:7: note: candidate: ‘std::unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::iterator std::unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::insert(std::unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::const_iterator, std::unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::node_type&&) [with _Key = std::__cxx11::basic_string<char>; _Tp = std::shared_ptr<PJ::MessageParser>; _Hash = std::hash<std::__cxx11::basic_string<char> >; _Pred = std::equal_to<std::__cxx11::basic_string<char> >; _Alloc = std::allocator<std::pair<const std::__cxx11::basic_string<char>, std::shared_ptr<PJ::MessageParser> > >; std::unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::iterator = std::__detail::_Node_iterator<std::pair<const std::__cxx11::basic_string<char>, std::shared_ptr<PJ::MessageParser> >, false, true>; std::unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::const_iterator = std::__detail::_Node_const_iterator<std::pair<const std::__cxx11::basic_string<char>, std::shared_ptr<PJ::MessageParser> >, false, true>; std::unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::node_type = std::_Node_handle<std::__cxx11::basic_string<char>, std::pair<const std::__cxx11::basic_string<char>, std::shared_ptr<PJ::MessageParser> >, std::allocator<std::__detail::_Hash_node<std::pair<const std::__cxx11::basic_string<char>, std::shared_ptr<PJ::MessageParser> >, true> > >]’ 443 | insert(const_iterator, node_type&& __nh) | ^~~~~~ /usr/include/c++/9/bits/unordered_map.h:443:7: note: candidate expects 2 arguments, 1 provided /usr/include/c++/9/bits/unordered_map.h:580:7: note: candidate: ‘std::pair<typename std::_Hashtable<_Key, std::pair<const _Key, _Tp>, _Alloc, std::__detail::_Select1st, _Pred, _Hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<std::__not_<std::__and_<std::__is_fast_hash<_Hash>, std::__is_nothrow_invocable<const _Hash&, const _Key&> > >::value, false, true> >::iterator, bool> std::unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::insert(const value_type&) [with _Key = std::__cxx11::basic_string<char>; _Tp = std::shared_ptr<PJ::MessageParser>; _Hash = std::hash<std::__cxx11::basic_string<char> >; _Pred = std::equal_to<std::__cxx11::basic_string<char> >; _Alloc = std::allocator<std::pair<const std::__cxx11::basic_string<char>, std::shared_ptr<PJ::MessageParser> > >; typename std::_Hashtable<_Key, std::pair<const _Key, _Tp>, _Alloc, std::__detail::_Select1st, _Pred, _Hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<std::__not_<std::__and_<std::__is_fast_hash<_Hash>, std::__is_nothrow_invocable<const _Hash&, const _Key&> > >::value, false, true> >::iterator = std::__detail::_Node_iterator<std::pair<const std::__cxx11::basic_string<char>, std::shared_ptr<PJ::MessageParser> >, false, true>; std::unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::value_type = std::pair<const std::__cxx11::basic_string<char>, std::shared_ptr<PJ::MessageParser> >]’ 580 | insert(const value_type& __x) | ^~~~~~ /usr/include/c++/9/bits/unordered_map.h:580:32: note: no known conversion for argument 1 from ‘<brace-enclosed initializer list>’ to ‘const value_type&’ {aka ‘const std::pair<const std::__cxx11::basic_string<char>, std::shared_ptr<PJ::MessageParser> >&’} 580 | insert(const value_type& __x) | ~~~~~~~~~~~~~~~~~~^~~ /usr/include/c++/9/bits/unordered_map.h:586:7: note: candidate: ‘std::pair<typename std::_Hashtable<_Key, std::pair<const _Key, _Tp>, _Alloc, std::__detail::_Select1st, _Pred, _Hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<std::__not_<std::__and_<std::__is_fast_hash<_Hash>, std::__is_nothrow_invocable<const _Hash&, const _Key&> > >::value, false, true> >::iterator, bool> std::unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::insert(std::unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::value_type&&) [with _Key = std::__cxx11::basic_string<char>; _Tp = std::shared_ptr<PJ::MessageParser>; _Hash = std::hash<std::__cxx11::basic_string<char> >; _Pred = std::equal_to<std::__cxx11::basic_string<char> >; _Alloc = std::allocator<std::pair<const std::__cxx11::basic_string<char>, std::shared_ptr<PJ::MessageParser> > >; typename std::_Hashtable<_Key, std::pair<const _Key, _Tp>, _Alloc, std::__detail::_Select1st, _Pred, _Hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<std::__not_<std::__and_<std::__is_fast_hash<_Hash>, std::__is_nothrow_invocable<const _Hash&, const _Key&> > >::value, false, true> >::iterator = std::__detail::_Node_iterator<std::pair<const std::__cxx11::basic_string<char>, std::shared_ptr<PJ::MessageParser> >, false, true>; std::unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::value_type = std::pair<const std::__cxx11::basic_string<char>, std::shared_ptr<PJ::MessageParser> >]’ 586 | insert(value_type&& __x) | ^~~~~~ /usr/include/c++/9/bits/unordered_map.h:586:27: note: no known conversion for argument 1 from ‘<brace-enclosed initializer list>’ to ‘std::unordered_map<std::__cxx11::basic_string<char>, std::shared_ptr<PJ::MessageParser> >::value_type&&’ {aka ‘std::pair<const std::__cxx11::basic_string<char>, std::shared_ptr<PJ::MessageParser> >&&’} 586 | insert(value_type&& __x) | ~~~~~~~~~~~~~^~~ /usr/include/c++/9/bits/unordered_map.h:592:2: note: candidate: ‘template<class _Pair> std::__enable_if_t<std::is_constructible<typename std::_Hashtable<_Key, std::pair<const _Key, _Tp>, _Alloc, std::__detail::_Select1st, _Pred, _Hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<std::__not_<std::__and_<std::__is_fast_hash<_Hash>, std::__is_nothrow_invocable<const _Hash&, const _Key&> > >::value, false, true> >::value_type, _Pair&&>::value, std::pair<typename std::_Hashtable<_Key, std::pair<const _Key, _Tp>, _Alloc, std::__detail::_Select1st, _Pred, _Hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<std::__not_<std::__and_<std::__is_fast_hash<_Hash>, std::__is_nothrow_invocable<const _Hash&, const _Key&> > >::value, false, true> >::iterator, bool> > std::unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::insert(_Pair&&) [with _Pair = _Pair; _Key = std::__cxx11::basic_string<char>; _Tp = std::shared_ptr<PJ::MessageParser>; _Hash = std::hash<std::__cxx11::basic_string<char> >; _Pred = std::equal_to<std::__cxx11::basic_string<char> >; _Alloc = std::allocator<std::pair<const std::__cxx11::basic_string<char>, std::shared_ptr<PJ::MessageParser> > >]’ 592 | insert(_Pair&& __x) | ^~~~~~ /usr/include/c++/9/bits/unordered_map.h:592:2: note: template argument deduction/substitution failed: /home/void/Downloads/software/plotjuggler-mqtt/DataStreamMQTT/datastream_mqtt.cpp:89:54: note: couldn’t deduce template parameter ‘_Pair’ 89 | it = _this->_parsers.insert( {topicName, parser} ).first; | ^ In file included from /usr/include/c++/9/unordered_map:47, from /usr/include/c++/9/functional:61, from /usr/include/c++/9/pstl/glue_algorithm_defs.h:13, from /usr/include/c++/9/algorithm:71, from /usr/include/x86_64-linux-gnu/qt5/QtCore/qglobal.h:142, from /usr/include/x86_64-linux-gnu/qt5/QtGui/qtguiglobal.h:43, from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qtwidgetsglobal.h:43, from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qdialog.h:43, from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QDialog:1, from /home/void/Downloads/software/plotjuggler-mqtt/DataStreamMQTT/datastream_mqtt.h:4, from /home/void/Downloads/software/plotjuggler-mqtt/DataStreamMQTT/datastream_mqtt.cpp:1: /usr/include/c++/9/bits/unordered_map.h:619:7: note: candidate: ‘std::unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::iterator std::unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::insert(std::unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::const_iterator, const value_type&) [with _Key = std::__cxx11::basic_string<char>; _Tp = std::shared_ptr<PJ::MessageParser>; _Hash = std::hash<std::__cxx11::basic_string<char> >; _Pred = std::equal_to<std::__cxx11::basic_string<char> >; _Alloc = std::allocator<std::pair<const std::__cxx11::basic_string<char>, std::shared_ptr<PJ::MessageParser> > >; std::unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::iterator = std::__detail::_Node_iterator<std::pair<const std::__cxx11::basic_string<char>, std::shared_ptr<PJ::MessageParser> >, false, true>; std::unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::const_iterator = std::__detail::_Node_const_iterator<std::pair<const std::__cxx11::basic_string<char>, std::shared_ptr<PJ::MessageParser> >, false, true>; std::unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::value_type = std::pair<const std::__cxx11::basic_string<char>, std::shared_ptr<PJ::MessageParser> >]’ 619 | insert(const_iterator __hint, const value_type& __x) | ^~~~~~ /usr/include/c++/9/bits/unordered_map.h:619:7: note: candidate expects 2 arguments, 1 provided /usr/include/c++/9/bits/unordered_map.h:625:7: note: candidate: ‘std::unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::iterator std::unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::insert(std::unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::const_iterator, std::unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::value_type&&) [with _Key = std::__cxx11::basic_string<char>; _Tp = std::shared_ptr<PJ::MessageParser>; _Hash = std::hash<std::__cxx11::basic_string<char> >; _Pred = std::equal_to<std::__cxx11::basic_string<char> >; _Alloc = std::allocator<std::pair<const std::__cxx11::basic_string<char>, std::shared_ptr<PJ::MessageParser> > >; std::unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::iterator = std::__detail::_Node_iterator<std::pair<const std::__cxx11::basic_string<char>, std::shared_ptr<PJ::MessageParser> >, false, true>; std::unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::const_iterator = std::__detail::_Node_const_iterator<std::pair<const std::__cxx11::basic_string<char>, std::shared_ptr<PJ::MessageParser> >, false, true>; std::unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::value_type = std::pair<const std::__cxx11::basic_string<char>, std::shared_ptr<PJ::MessageParser> >]’ 625 | insert(const_iterator __hint, value_type&& __x) | ^~~~~~ /usr/include/c++/9/bits/unordered_map.h:625:7: note: candidate expects 2 arguments, 1 provided /usr/include/c++/9/bits/unordered_map.h:630:2: note: candidate: ‘template<class _Pair> std::__enable_if_t<std::is_constructible<typename std::_Hashtable<_Key, std::pair<const _Key, _Tp>, _Alloc, std::__detail::_Select1st, _Pred, _Hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<std::__not_<std::__and_<std::__is_fast_hash<_Hash>, std::__is_nothrow_invocable<const _Hash&, const _Key&> > >::value, false, true> >::value_type, _Pair&&>::value, typename std::_Hashtable<_Key, std::pair<const _Key, _Tp>, _Alloc, std::__detail::_Select1st, _Pred, _Hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<std::__not_<std::__and_<std::__is_fast_hash<_Hash>, std::__is_nothrow_invocable<const _Hash&, const _Key&> > >::value, false, true> >::iterator> std::unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::insert(std::unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::const_iterator, _Pair&&) [with _Pair = _Pair; _Key = std::__cxx11::basic_string<char>; _Tp = std::shared_ptr<PJ::MessageParser>; _Hash = std::hash<std::__cxx11::basic_string<char> >; _Pred = std::equal_to<std::__cxx11::basic_string<char> >; _Alloc = std::allocator<std::pair<const std::__cxx11::basic_string<char>, std::shared_ptr<PJ::MessageParser> > >]’ 630 | insert(const_iterator __hint, _Pair&& __x) | ^~~~~~ /usr/include/c++/9/bits/unordered_map.h:630:2: note: template argument deduction/substitution failed: /home/void/Downloads/software/plotjuggler-mqtt/DataStreamMQTT/datastream_mqtt.cpp:89:54: note: candidate expects 2 arguments, 1 provided 89 | it = _this->_parsers.insert( {topicName, parser} ).first; | ^ In file included from /usr/include/c++/9/unordered_map:47, from /usr/include/c++/9/functional:61, from /usr/include/c++/9/pstl/glue_algorithm_defs.h:13, from /usr/include/c++/9/algorithm:71, from /usr/include/x86_64-linux-gnu/qt5/QtCore/qglobal.h:142, from /usr/include/x86_64-linux-gnu/qt5/QtGui/qtguiglobal.h:43, from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qtwidgetsglobal.h:43, from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qdialog.h:43, from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QDialog:1, from /home/void/Downloads/software/plotjuggler-mqtt/DataStreamMQTT/datastream_mqtt.h:4, from /home/void/Downloads/software/plotjuggler-mqtt/DataStreamMQTT/datastream_mqtt.cpp:1: /usr/include/c++/9/bits/unordered_map.h:645:2: note: candidate: ‘template<class _InputIterator> void std::unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::insert(_InputIterator, _InputIterator) [with _InputIterator = _InputIterator; _Key = std::__cxx11::basic_string<char>; _Tp = std::shared_ptr<PJ::MessageParser>; _Hash = std::hash<std::__cxx11::basic_string<char> >; _Pred = std::equal_to<std::__cxx11::basic_string<char> >; _Alloc = std::allocator<std::pair<const std::__cxx11::basic_string<char>, std::shared_ptr<PJ::MessageParser> > >]’ 645 | insert(_InputIterator __first, _InputIterator __last) | ^~~~~~ /usr/include/c++/9/bits/unordered_map.h:645:2: note: template argument deduction/substitution failed: /home/void/Downloads/software/plotjuggler-mqtt/DataStreamMQTT/datastream_mqtt.cpp:89:54: note: candidate expects 2 arguments, 1 provided 89 | it = _this->_parsers.insert( {topicName, parser} ).first; | ^ In file included from /usr/include/c++/9/unordered_map:47, from /usr/include/c++/9/functional:61, from /usr/include/c++/9/pstl/glue_algorithm_defs.h:13, from /usr/include/c++/9/algorithm:71, from /usr/include/x86_64-linux-gnu/qt5/QtCore/qglobal.h:142, from /usr/include/x86_64-linux-gnu/qt5/QtGui/qtguiglobal.h:43, from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qtwidgetsglobal.h:43, from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qdialog.h:43, from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QDialog:1, from /home/void/Downloads/software/plotjuggler-mqtt/DataStreamMQTT/datastream_mqtt.h:4, from /home/void/Downloads/software/plotjuggler-mqtt/DataStreamMQTT/datastream_mqtt.cpp:1: /usr/include/c++/9/bits/unordered_map.h:656:7: note: candidate: ‘void std::unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::insert(std::initializer_list<typename std::_Hashtable<_Key, std::pair<const _Key, _Tp>, _Alloc, std::__detail::_Select1st, _Pred, _Hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<std::__not_<std::__and_<std::__is_fast_hash<_Hash>, std::__is_nothrow_invocable<const _Hash&, const _Key&> > >::value, false, true> >::value_type>) [with _Key = std::__cxx11::basic_string<char>; _Tp = std::shared_ptr<PJ::MessageParser>; _Hash = std::hash<std::__cxx11::basic_string<char> >; _Pred = std::equal_to<std::__cxx11::basic_string<char> >; _Alloc = std::allocator<std::pair<const std::__cxx11::basic_string<char>, std::shared_ptr<PJ::MessageParser> > >; typename std::_Hashtable<_Key, std::pair<const _Key, _Tp>, _Alloc, std::__detail::_Select1st, _Pred, _Hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<std::__not_<std::__and_<std::__is_fast_hash<_Hash>, std::__is_nothrow_invocable<const _Hash&, const _Key&> > >::value, false, true> >::value_type = std::pair<const std::__cxx11::basic_string<char>, std::shared_ptr<PJ::MessageParser> >]’ 656 | insert(initializer_list<value_type> __l) | ^~~~~~ /usr/include/c++/9/bits/unordered_map.h:656:43: note: no known conversion for argument 1 from ‘<brace-enclosed initializer list>’ to ‘std::initializer_list<std::pair<const std::__cxx11::basic_string<char>, std::shared_ptr<PJ::MessageParser> > >’ 656 | insert(initializer_list<value_type> __l) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ /home/void/Downloads/software/plotjuggler-mqtt/DataStreamMQTT/datastream_mqtt.cpp: In member function ‘virtual bool DataStreamMQTT::start(QStringList*)’: /home/void/Downloads/software/plotjuggler-mqtt/DataStreamMQTT/datastream_mqtt.cpp:204:8: error: ‘availableParsers’ was not declared in this scope 204 | if( !availableParsers() ) | ^~~~~~~~~~~~~~~~ /home/void/Downloads/software/plotjuggler-mqtt/DataStreamMQTT/datastream_mqtt.cpp:213:25: error: ‘availableParsers’ was not declared in this scope 213 | for( const auto& it: *availableParsers()) | ^~~~~~~~~~~~~~~~ /home/void/Downloads/software/plotjuggler-mqtt/DataStreamMQTT/datastream_mqtt.cpp:224:19: error: ‘MessageParserCreator’ was not declared in this scope 224 | std::shared_ptr<MessageParserCreator> parser_creator; | ^~~~~~~~~~~~~~~~~~~~ /home/void/Downloads/software/plotjuggler-mqtt/DataStreamMQTT/datastream_mqtt.cpp:224:39: error: template argument 1 is invalid 224 | std::shared_ptr<MessageParserCreator> parser_creator; | ^ /home/void/Downloads/software/plotjuggler-mqtt/DataStreamMQTT/datastream_mqtt.cpp: In lambda function: /home/void/Downloads/software/plotjuggler-mqtt/DataStreamMQTT/datastream_mqtt.cpp:230:45: error: base operand of ‘->’ is not a pointer 230 | QWidget* prev_widget = parser_creator->optionsWidget(); | ^~ /home/void/Downloads/software/plotjuggler-mqtt/DataStreamMQTT/datastream_mqtt.cpp:234:22: error: ‘availableParsers’ was not declared in this scope 234 | parser_creator = availableParsers()->at( protocol ); | ^~~~~~~~~~~~~~~~ /home/void/Downloads/software/plotjuggler-mqtt/DataStreamMQTT/datastream_mqtt.cpp:236:36: error: base operand of ‘->’ is not a pointer 236 | if(auto widget = parser_creator->optionsWidget() ){ | ^~ make[2]: *** [CMakeFiles/DataStreamMQTT.dir/build.make:80: CMakeFiles/DataStreamMQTT.dir/DataStreamMQTT/datastream_mqtt.cpp.o] Error 1 make[1]: *** [CMakeFiles/Makefile2:127: CMakeFiles/DataStreamMQTT.dir/all] Error 2 make: *** [Makefile:152: all] Error 2