Closed SecT0uch closed 1 year ago
What kind of error do you get when compiling with gcc 13 ?
Using the dev branch:
[*] building teamserver
[*] building client
-- The C compiler identification is GNU 13.1.1
-- The CXX compiler identification is GNU 13.1.1
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found PythonLibs: /usr/lib/libpython3.11.so (found suitable version "3.11.3", minimum required is "3")
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
-- Found Threads: TRUE
-- Configuring done (1.5s)
-- Generating done (0.0s)
-- Build files have been written to: /home/jordan/Dev/Havoc/client/Build
Cloning into 'client/Modules'...
remote: Enumerating objects: 470, done.
remote: Counting objects: 100% (160/160), done.
remote: Compressing objects: 100% (114/114), done.
remote: Total 470 (delta 56), reused 125 (delta 46), pack-reused 310
Receiving objects: 100% (470/470), 750.63 KiB | 1.36 MiB/s, done.
Resolving deltas: 100% (195/195), done.
make[1]: Entering directory '/home/jordan/Dev/Havoc/client/Build'
[ 2%] Automatic MOC and UIC for target Havoc
[ 2%] Built target Havoc_autogen
[ 4%] Automatic RCC for Data/Havoc.qrc
[ 8%] Building CXX object CMakeFiles/Havoc.dir/Source/Main.cpp.o
[ 11%] Building CXX object CMakeFiles/Havoc.dir/Source/Havoc/Packager.cpp.o
[ 11%] Building CXX object CMakeFiles/Havoc.dir/Havoc_autogen/mocs_compilation.cpp.o
[ 13%] Building CXX object CMakeFiles/Havoc.dir/Source/Havoc/Connector.cpp.o
In file included from /home/jordan/Dev/Havoc/client/Include/Havoc/Connector.hpp:4,
from /home/jordan/Dev/Havoc/client/Source/Havoc/Connector.cpp:1:
/home/jordan/Dev/Havoc/client/Include/global.hpp:241:54: warning: declaration of ‘FileBrowser* HavocNamespace::Util::<unnamed struct>::FileBrowser’ changes meaning of ‘FileBrowser’ [-Wchanges-meaning]
241 | FileBrowser* FileBrowser;
| ^~~~~~~~~~~
/home/jordan/Dev/Havoc/client/Include/global.hpp:241:13: note: used here to mean ‘class FileBrowser’
241 | FileBrowser* FileBrowser;
| ^~~~~~~~~~~
In file included from /home/jordan/Dev/Havoc/client/Include/global.hpp:39:
/home/jordan/Dev/Havoc/client/Include/UserInterface/Widgets/FileBrowser.hpp:53:7: note: declared here
53 | class FileBrowser : public QWidget
| ^~~~~~~~~~~
In file included from /home/jordan/Dev/Havoc/client/Build/Havoc_autogen/BEIJ4H4JXG/../../../Include/UserInterface/Widgets/SessionGraph.hpp:4,
from /home/jordan/Dev/Havoc/client/Build/Havoc_autogen/BEIJ4H4JXG/moc_SessionGraph.cpp:10,
from /home/jordan/Dev/Havoc/client/Build/Havoc_autogen/mocs_compilation.cpp:2:
/home/jordan/Dev/Havoc/client/Include/global.hpp:241:54: warning: declaration of ‘FileBrowser* HavocNamespace::Util::<unnamed struct>::FileBrowser’ changes meaning of ‘FileBrowser’ [-Wchanges-meaning]
241 | FileBrowser* FileBrowser;
| ^~~~~~~~~~~
/home/jordan/Dev/Havoc/client/Include/global.hpp:241:13: note: used here to mean ‘class FileBrowser’
241 | FileBrowser* FileBrowser;
| ^~~~~~~~~~~
In file included from /home/jordan/Dev/Havoc/client/Include/global.hpp:39:
/home/jordan/Dev/Havoc/client/Include/UserInterface/Widgets/FileBrowser.hpp:53:7: note: declared here
53 | class FileBrowser : public QWidget
| ^~~~~~~~~~~
In file included from /home/jordan/Dev/Havoc/client/Source/Main.cpp:1:
/home/jordan/Dev/Havoc/client/Include/global.hpp:241:54: warning: declaration of ‘FileBrowser* HavocNamespace::Util::<unnamed struct>::FileBrowser’ changes meaning of ‘FileBrowser’ [-Wchanges-meaning]
241 | FileBrowser* FileBrowser;
| ^~~~~~~~~~~
/home/jordan/Dev/Havoc/client/Include/global.hpp:241:13: note: used here to mean ‘class FileBrowser’
241 | FileBrowser* FileBrowser;
| ^~~~~~~~~~~
In file included from /home/jordan/Dev/Havoc/client/Include/global.hpp:39:
/home/jordan/Dev/Havoc/client/Include/UserInterface/Widgets/FileBrowser.hpp:53:7: note: declared here
53 | class FileBrowser : public QWidget
| ^~~~~~~~~~~
/home/jordan/Dev/Havoc/client/Build/Havoc_autogen/BEIJ4H4JXG/../../../Include/UserInterface/Widgets/SessionGraph.hpp:71:17: warning: declaration of ‘Node* GraphWidget::<unnamed struct>::Node’ changes meaning of ‘Node’ [-Wchanges-meaning]
71 | Node* Node;
| ^~~~
/home/jordan/Dev/Havoc/client/Build/Havoc_autogen/BEIJ4H4JXG/../../../Include/UserInterface/Widgets/SessionGraph.hpp:71:9: note: used here to mean ‘class Node’
71 | Node* Node;
| ^~~~
/home/jordan/Dev/Havoc/client/Build/Havoc_autogen/BEIJ4H4JXG/../../../Include/UserInterface/Widgets/SessionGraph.hpp:20:7: note: declared here
20 | class Node : public QGraphicsItem
| ^~~~
In file included from /home/jordan/Dev/Havoc/client/Source/Havoc/Packager.cpp:1:
/home/jordan/Dev/Havoc/client/Include/global.hpp:241:54: warning: declaration of ‘FileBrowser* HavocNamespace::Util::<unnamed struct>::FileBrowser’ changes meaning of ‘FileBrowser’ [-Wchanges-meaning]
241 | FileBrowser* FileBrowser;
| ^~~~~~~~~~~
/home/jordan/Dev/Havoc/client/Include/global.hpp:241:13: note: used here to mean ‘class FileBrowser’
241 | FileBrowser* FileBrowser;
| ^~~~~~~~~~~
In file included from /home/jordan/Dev/Havoc/client/Include/global.hpp:39:
/home/jordan/Dev/Havoc/client/Include/UserInterface/Widgets/FileBrowser.hpp:53:7: note: declared here
53 | class FileBrowser : public QWidget
| ^~~~~~~~~~~
In file included from /home/jordan/Dev/Havoc/client/Include/UserInterface/Widgets/TeamserverTabSession.h:9,
from /home/jordan/Dev/Havoc/client/Source/Havoc/Packager.cpp:8:
/home/jordan/Dev/Havoc/client/Include/UserInterface/Widgets/SessionGraph.hpp:71:17: warning: declaration of ‘Node* GraphWidget::<unnamed struct>::Node’ changes meaning of ‘Node’ [-Wchanges-meaning]
71 | Node* Node;
| ^~~~
/home/jordan/Dev/Havoc/client/Include/UserInterface/Widgets/SessionGraph.hpp:71:9: note: used here to mean ‘class Node’
71 | Node* Node;
| ^~~~
/home/jordan/Dev/Havoc/client/Include/UserInterface/Widgets/SessionGraph.hpp:20:7: note: declared here
20 | class Node : public QGraphicsItem
| ^~~~
/home/jordan/Dev/Havoc/client/Include/UserInterface/Widgets/TeamserverTabSession.h:35:39: warning: declaration of ‘Teamserver* HavocNamespace::UserInterface::Widgets::TeamserverTabSession::Teamserver’ changes meaning of ‘Teamserver’ [-Wchanges-meaning]
35 | Teamserver* Teamserver = {};
| ^~~~~~~~~~
/home/jordan/Dev/Havoc/client/Include/UserInterface/Widgets/TeamserverTabSession.h:35:5: note: used here to mean ‘class Teamserver’
35 | Teamserver* Teamserver = {};
| ^~~~~~~~~~
In file included from /home/jordan/Dev/Havoc/client/Include/UserInterface/Widgets/TeamserverTabSession.h:10:
/home/jordan/Dev/Havoc/client/Include/UserInterface/Widgets/Teamserver.hpp:16:7: note: declared here
16 | class Teamserver
| ^~~~~~~~~~
/home/jordan/Dev/Havoc/client/Include/UserInterface/Widgets/TeamserverTabSession.h:42:39: warning: declaration of ‘LootWidget* HavocNamespace::UserInterface::Widgets::TeamserverTabSession::LootWidget’ changes meaning of ‘LootWidget’ [-Wchanges-meaning]
42 | LootWidget* LootWidget = {};
| ^~~~~~~~~~
/home/jordan/Dev/Havoc/client/Include/UserInterface/Widgets/TeamserverTabSession.h:42:5: note: used here to mean ‘class LootWidget’
42 | LootWidget* LootWidget = {};
| ^~~~~~~~~~
In file included from /home/jordan/Dev/Havoc/client/Include/UserInterface/Widgets/TeamserverTabSession.h:8:
/home/jordan/Dev/Havoc/client/Include/UserInterface/Widgets/LootWidget.h:39:7: note: declared here
39 | class LootWidget : public QWidget
| ^~~~~~~~~~
/home/jordan/Dev/Havoc/client/Source/Havoc/Packager.cpp: In member function ‘bool HavocNamespace::HavocSpace::Packager::DispatchListener(HavocNamespace::Util::Packager::PPackage)’:
/home/jordan/Dev/Havoc/client/Source/Havoc/Packager.cpp:310:48: error: no match for ‘operator==’ (operand types are ‘std::string’ {aka ‘std::__cxx11::basic_string<char>’} and ‘const nlohmann::json_abi_v3_11_2::basic_json<>::value_type’ {aka ‘const nlohmann::json_abi_v3_11_2::basic_json<>’})
310 | if ( ListenerInfo.Protocol == listener[ "Name" ] )
In file included from /home/jordan/Dev/Havoc/client/Include/global.hpp:36:
/home/jordan/Dev/Havoc/client/Include/json.hpp:22913:6: note: candidate: ‘template<class ScalarType> requires is_scalar_v<ScalarType> bool nlohmann::json_abi_v3_11_2::basic_json<ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass>::operator==(ScalarType) const [with ObjectType = std::map; ArrayType = std::vector; StringType = std::__cxx11::basic_string<char>; BooleanType = bool; NumberIntegerType = long int; NumberUnsignedType = long unsigned int; NumberFloatType = double; AllocatorType = std::allocator; JSONSerializer = nlohmann::json_abi_v3_11_2::adl_serializer; BinaryType = std::vector<unsigned char>; CustomBaseClass = void]’ (reversed)
22913 | bool operator==(ScalarType rhs) const noexcept
| ^~~~~~~~
/home/jordan/Dev/Havoc/client/Include/json.hpp:22913:6: note: template argument deduction/substitution failed:
/home/jordan/Dev/Havoc/client/Include/json.hpp:22913:6: note: constraints not satisfied
/home/jordan/Dev/Havoc/client/Include/json.hpp: In substitution of ‘template<class ScalarType> requires is_scalar_v<ScalarType> bool nlohmann::json_abi_v3_11_2::basic_json<>::operator==(ScalarType) const [with ScalarType = std::map]’:
/home/jordan/Dev/Havoc/client/Source/Havoc/Packager.cpp:310:68: required from here
/home/jordan/Dev/Havoc/client/Include/json.hpp:22913:6: required by the constraints of ‘template<template<class, class, class ...> class ObjectType, template<class, class ...> class ArrayType, class StringType, class BooleanType, class NumberIntegerType, class NumberUnsignedType, class NumberFloatType, template<class> class AllocatorType, template<class, class> class JSONSerializer, class BinaryType, class CustomBaseClass> template<class ScalarType> requires is_scalar_v<ScalarType> bool nlohmann::json_abi_v3_11_2::basic_json<ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass>::operator==(ScalarType) const’
/home/jordan/Dev/Havoc/client/Include/json.hpp:22912:15: note: the expression ‘is_scalar_v<ScalarType> [with ScalarType = std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >]’ evaluated to ‘false’
22912 | requires std::is_scalar_v<ScalarType>
| ~~~~~^~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/qt/QtCore/qobject.h:53,
from /usr/include/qt/QtCore/qcoreapplication.h:46,
from /usr/include/qt/QtWidgets/qapplication.h:44,
from /usr/include/qt/QtWidgets/QApplication:1,
from /home/jordan/Dev/Havoc/client/Include/global.hpp:4:
/usr/include/qt/QtCore/qscopedpointer.h:196:13: note: candidate: ‘template<class T, class Cleanup> bool operator==(const QScopedPointer<T, Cleanup>&, std::nullptr_t)’ (reversed)
196 | inline bool operator==(const QScopedPointer<T, Cleanup> &lhs, std::nullptr_t) noexcept
| ^~~~~~~~
/usr/include/qt/QtCore/qscopedpointer.h:196:13: note: template argument deduction/substitution failed:
/home/jordan/Dev/Havoc/client/Source/Havoc/Packager.cpp:310:68: note: ‘const nlohmann::json_abi_v3_11_2::basic_json<>::value_type’ {aka ‘const nlohmann::json_abi_v3_11_2::basic_json<>’} is not derived from ‘const QScopedPointer<T, Cleanup>’
310 | if ( ListenerInfo.Protocol == listener[ "Name" ] )
| ^
/usr/include/qt/QtCore/qscopedpointer.h:202:13: note: candidate: ‘template<class T, class Cleanup> bool operator==(std::nullptr_t, const QScopedPointer<T, Cleanup>&)’ (reversed)
202 | inline bool operator==(std::nullptr_t, const QScopedPointer<T, Cleanup> &rhs) noexcept
| ^~~~~~~~
/usr/include/qt/QtCore/qscopedpointer.h:202:13: note: template argument deduction/substitution failed:
/home/jordan/Dev/Havoc/client/Source/Havoc/Packager.cpp:310:68: note: ‘std::string’ {aka ‘std::__cxx11::basic_string<char>’} is not derived from ‘const QScopedPointer<T, Cleanup>’
310 | if ( ListenerInfo.Protocol == listener[ "Name" ] )
| ^
In file included from /usr/include/qt/QtCore/qmetatype.h:48,
from /usr/include/qt/QtCore/qobject.h:54:
/usr/include/qt/QtCore/qvarlengtharray.h:562:6: note: candidate: ‘template<class T, int Prealloc1, int Prealloc2> bool operator==(const QVarLengthArray<T, Prealloc1>&, const QVarLengthArray<T, Prealloc2>&)’ (reversed)
562 | bool operator==(const QVarLengthArray<T, Prealloc1> &l, const QVarLengthArray<T, Prealloc2> &r)
| ^~~~~~~~
/usr/include/qt/QtCore/qvarlengtharray.h:562:6: note: template argument deduction/substitution failed:
/home/jordan/Dev/Havoc/client/Source/Havoc/Packager.cpp:310:68: note: ‘const nlohmann::json_abi_v3_11_2::basic_json<>::value_type’ {aka ‘const nlohmann::json_abi_v3_11_2::basic_json<>’} is not derived from ‘const QVarLengthArray<T, Prealloc1>’
310 | if ( ListenerInfo.Protocol == listener[ "Name" ] )
| ^
In file included from /usr/include/qt/QtCore/qlocale.h:46,
from /usr/include/qt/QtGui/qguiapplication.h:47,
from /usr/include/qt/QtWidgets/qapplication.h:52:
/usr/include/qt/QtCore/qshareddata.h:141:32: note: candidate: ‘template<class T> bool operator==(std::nullptr_t, const QSharedDataPointer<T>&)’ (reversed)
141 | template <class T> inline bool operator==(std::nullptr_t p1, const QSharedDataPointer<T> &p2)
| ^~~~~~~~
/usr/include/qt/QtCore/qshareddata.h:141:32: note: template argument deduction/substitution failed:
/home/jordan/Dev/Havoc/client/Source/Havoc/Packager.cpp:310:68: note: ‘std::string’ {aka ‘std::__cxx11::basic_string<char>’} is not derived from ‘const QSharedDataPointer<T>’
310 | if ( ListenerInfo.Protocol == listener[ "Name" ] )
| ^
/usr/include/qt/QtCore/qshareddata.h:147:32: note: candidate: ‘template<class T> bool operator==(const QSharedDataPointer<T>&, std::nullptr_t)’ (reversed)
147 | template <class T> inline bool operator==(const QSharedDataPointer<T> &p1, std::nullptr_t p2)
| ^~~~~~~~
/usr/include/qt/QtCore/qshareddata.h:147:32: note: template argument deduction/substitution failed:
/home/jordan/Dev/Havoc/client/Source/Havoc/Packager.cpp:310:68: note: ‘const nlohmann::json_abi_v3_11_2::basic_json<>::value_type’ {aka ‘const nlohmann::json_abi_v3_11_2::basic_json<>’} is not derived from ‘const QSharedDataPointer<T>’
310 | if ( ListenerInfo.Protocol == listener[ "Name" ] )
| ^
/usr/include/qt/QtCore/qshareddata.h:287:32: note: candidate: ‘template<class T> bool operator==(std::nullptr_t, const QExplicitlySharedDataPointer<T>&)’ (reversed)
287 | template <class T> inline bool operator==(std::nullptr_t p1, const QExplicitlySharedDataPointer<T> &p2)
| ^~~~~~~~
/usr/include/qt/QtCore/qshareddata.h:287:32: note: template argument deduction/substitution failed:
/home/jordan/Dev/Havoc/client/Source/Havoc/Packager.cpp:310:68: note: ‘std::string’ {aka ‘std::__cxx11::basic_string<char>’} is not derived from ‘const QExplicitlySharedDataPointer<T>’
310 | if ( ListenerInfo.Protocol == listener[ "Name" ] )
| ^
/usr/include/qt/QtCore/qshareddata.h:293:32: note: candidate: ‘template<class T> bool operator==(const QExplicitlySharedDataPointer<T>&, std::nullptr_t)’ (reversed)
293 | template <class T> inline bool operator==(const QExplicitlySharedDataPointer<T> &p1, std::nullptr_t p2)
| ^~~~~~~~
/usr/include/qt/QtCore/qshareddata.h:293:32: note: template argument deduction/substitution failed:
/home/jordan/Dev/Havoc/client/Source/Havoc/Packager.cpp:310:68: note: ‘const nlohmann::json_abi_v3_11_2::basic_json<>::value_type’ {aka ‘const nlohmann::json_abi_v3_11_2::basic_json<>’} is not derived from ‘const QExplicitlySharedDataPointer<T>’
310 | if ( ListenerInfo.Protocol == listener[ "Name" ] )
| ^
In file included from /usr/include/qt/QtCore/qsharedpointer.h:48,
from /usr/include/qt/QtGui/qpixmap.h:48,
from /usr/include/qt/QtGui/qbrush.h:52,
from /usr/include/qt/QtGui/qpalette.h:46,
from /usr/include/qt/QtWidgets/qwidget.h:48,
from /usr/include/qt/QtWidgets/qmainwindow.h:44,
from /usr/include/qt/QtWidgets/QMainWindow:1,
from /home/jordan/Dev/Havoc/client/Include/global.hpp:5:
/usr/include/qt/QtCore/qsharedpointer_impl.h:747:6: note: candidate: ‘template<class T, class X> bool operator==(const QSharedPointer<T>&, const QSharedPointer<T>&)’ (reversed)
747 | bool operator==(const QSharedPointer<T> &ptr1, const QSharedPointer<X> &ptr2) noexcept
| ^~~~~~~~
/usr/include/qt/QtCore/qsharedpointer_impl.h:747:6: note: template argument deduction/substitution failed:
/home/jordan/Dev/Havoc/client/Source/Havoc/Packager.cpp:310:68: note: ‘const nlohmann::json_abi_v3_11_2::basic_json<>::value_type’ {aka ‘const nlohmann::json_abi_v3_11_2::basic_json<>’} is not derived from ‘const QSharedPointer<T>’
310 | if ( ListenerInfo.Protocol == listener[ "Name" ] )
| ^
/usr/include/qt/QtCore/qsharedpointer_impl.h:758:6: note: candidate: ‘template<class T, class X> bool operator==(const QSharedPointer<T>&, const X*)’ (reversed)
758 | bool operator==(const QSharedPointer<T> &ptr1, const X *ptr2) noexcept
| ^~~~~~~~
/usr/include/qt/QtCore/qsharedpointer_impl.h:758:6: note: template argument deduction/substitution failed:
/home/jordan/Dev/Havoc/client/Source/Havoc/Packager.cpp:310:68: note: ‘const nlohmann::json_abi_v3_11_2::basic_json<>::value_type’ {aka ‘const nlohmann::json_abi_v3_11_2::basic_json<>’} is not derived from ‘const QSharedPointer<T>’
310 | if ( ListenerInfo.Protocol == listener[ "Name" ] )
| ^
/usr/include/qt/QtCore/qsharedpointer_impl.h:763:6: note: candidate: ‘template<class T, class X> bool operator==(const T*, const QSharedPointer<T>&)’ (reversed)
763 | bool operator==(const T *ptr1, const QSharedPointer<X> &ptr2) noexcept
| ^~~~~~~~
/usr/include/qt/QtCore/qsharedpointer_impl.h:763:6: note: template argument deduction/substitution failed:
/home/jordan/Dev/Havoc/client/Source/Havoc/Packager.cpp:310:68: note: mismatched types ‘const T*’ and ‘nlohmann::json_abi_v3_11_2::basic_json<>’
310 | if ( ListenerInfo.Protocol == listener[ "Name" ] )
| ^
/usr/include/qt/QtCore/qsharedpointer_impl.h:779:6: note: candidate: ‘template<class T, class X> bool operator==(const QSharedPointer<T>&, const QWeakPointer<X>&)’ (reversed)
779 | bool operator==(const QSharedPointer<T> &ptr1, const QWeakPointer<X> &ptr2) noexcept
| ^~~~~~~~
/usr/include/qt/QtCore/qsharedpointer_impl.h:779:6: note: template argument deduction/substitution failed:
/home/jordan/Dev/Havoc/client/Source/Havoc/Packager.cpp:310:68: note: ‘const nlohmann::json_abi_v3_11_2::basic_json<>::value_type’ {aka ‘const nlohmann::json_abi_v3_11_2::basic_json<>’} is not derived from ‘const QSharedPointer<T>’
310 | if ( ListenerInfo.Protocol == listener[ "Name" ] )
| ^
/usr/include/qt/QtCore/qsharedpointer_impl.h:790:13: note: candidate: ‘template<class T> bool operator==(const QSharedPointer<T>&, std::nullptr_t)’ (reversed)
790 | inline bool operator==(const QSharedPointer<T> &lhs, std::nullptr_t) noexcept
| ^~~~~~~~
/usr/include/qt/QtCore/qsharedpointer_impl.h:790:13: note: template argument deduction/substitution failed:
/home/jordan/Dev/Havoc/client/Source/Havoc/Packager.cpp:310:68: note: ‘const nlohmann::json_abi_v3_11_2::basic_json<>::value_type’ {aka ‘const nlohmann::json_abi_v3_11_2::basic_json<>’} is not derived from ‘const QSharedPointer<T>’
310 | if ( ListenerInfo.Protocol == listener[ "Name" ] )
| ^
/usr/include/qt/QtCore/qsharedpointer_impl.h:802:13: note: candidate: ‘template<class T> bool operator==(std::nullptr_t, const QSharedPointer<T>&)’ (reversed)
802 | inline bool operator==(std::nullptr_t, const QSharedPointer<T> &rhs) noexcept
| ^~~~~~~~
/usr/include/qt/QtCore/qsharedpointer_impl.h:802:13: note: template argument deduction/substitution failed:
/home/jordan/Dev/Havoc/client/Source/Havoc/Packager.cpp:310:68: note: ‘std::string’ {aka ‘std::__cxx11::basic_string<char>’} is not derived from ‘const QSharedPointer<T>’
310 | if ( ListenerInfo.Protocol == listener[ "Name" ] )
| ^
/usr/include/qt/QtCore/qsharedpointer_impl.h:814:13: note: candidate: ‘template<class T> bool operator==(const QWeakPointer<T>&, std::nullptr_t)’ (reversed)
814 | inline bool operator==(const QWeakPointer<T> &lhs, std::nullptr_t) noexcept
| ^~~~~~~~
/usr/include/qt/QtCore/qsharedpointer_impl.h:814:13: note: template argument deduction/substitution failed:
/home/jordan/Dev/Havoc/client/Source/Havoc/Packager.cpp:310:68: note: ‘const nlohmann::json_abi_v3_11_2::basic_json<>::value_type’ {aka ‘const nlohmann::json_abi_v3_11_2::basic_json<>’} is not derived from ‘const QWeakPointer<T>’
310 | if ( ListenerInfo.Protocol == listener[ "Name" ] )
| ^
/usr/include/qt/QtCore/qsharedpointer_impl.h:826:13: note: candidate: ‘template<class T> bool operator==(std::nullptr_t, const QWeakPointer<T>&)’ (reversed)
826 | inline bool operator==(std::nullptr_t, const QWeakPointer<T> &rhs) noexcept
| ^~~~~~~~
/usr/include/qt/QtCore/qsharedpointer_impl.h:826:13: note: template argument deduction/substitution failed:
/home/jordan/Dev/Havoc/client/Source/Havoc/Packager.cpp:310:68: note: ‘std::string’ {aka ‘std::__cxx11::basic_string<char>’} is not derived from ‘const QWeakPointer<T>’
310 | if ( ListenerInfo.Protocol == listener[ "Name" ] )
| ^
In file included from /usr/include/c++/13.1.1/bits/stl_algobase.h:67,
from /usr/include/c++/13.1.1/algorithm:60,
from /usr/include/qt/QtCore/qglobal.h:142,
from /usr/include/qt/QtGui/qtguiglobal.h:43,
from /usr/include/qt/QtWidgets/qtwidgetsglobal.h:43,
from /usr/include/qt/QtWidgets/qapplication.h:43:
/usr/include/c++/13.1.1/bits/stl_iterator.h:534:5: note: candidate: ‘template<class _IteratorL, class _IteratorR> constexpr bool std::operator==(const reverse_iterator<_IteratorL>&, const reverse_iterator<_IteratorR>&) requires requires{{std::operator==::__x->base() == std::operator==::__y->base()} -> decltype(auto) [requires std::convertible_to<<placeholder>, bool>];}’ (reversed)
534 | operator==(const reverse_iterator<_IteratorL>& __x,
| ^~~~~~~~
/usr/include/c++/13.1.1/bits/stl_iterator.h:534:5: note: template argument deduction/substitution failed:
/home/jordan/Dev/Havoc/client/Source/Havoc/Packager.cpp:310:68: note: ‘const nlohmann::json_abi_v3_11_2::basic_json<>::value_type’ {aka ‘const nlohmann::json_abi_v3_11_2::basic_json<>’} is not derived from ‘const std::reverse_iterator<_IteratorL>’
310 | if ( ListenerInfo.Protocol == listener[ "Name" ] )
| ^
/usr/include/c++/13.1.1/bits/stl_iterator.h:1678:5: note: candidate: ‘template<class _IteratorL, class _IteratorR> constexpr bool std::operator==(const move_iterator<_IteratorL>&, const move_iterator<_IteratorR>&) requires requires{{std::operator==::__x->base() == std::operator==::__y->base()} -> decltype(auto) [requires std::convertible_to<<placeholder>, bool>];}’ (reversed)
1678 | operator==(const move_iterator<_IteratorL>& __x,
| ^~~~~~~~
/usr/include/c++/13.1.1/bits/stl_iterator.h:1678:5: note: template argument deduction/substitution failed:
/home/jordan/Dev/Havoc/client/Source/Havoc/Packager.cpp:310:68: note: ‘const nlohmann::json_abi_v3_11_2::basic_json<>::value_type’ {aka ‘const nlohmann::json_abi_v3_11_2::basic_json<>’} is not derived from ‘const std::move_iterator<_IteratorL>’
310 | if ( ListenerInfo.Protocol == listener[ "Name" ] )
| ^
In file included from /usr/include/c++/13.1.1/string:43,
from /usr/include/qt/QtCore/qbytearray.h:52,
from /usr/include/qt/QtCore/qstring.h:50,
from /usr/include/qt/QtCore/qcoreapplication.h:44:
/usr/include/c++/13.1.1/bits/allocator.h:237:5: note: candidate: ‘template<class _T1, class _T2> constexpr bool std::operator==(const allocator<_CharT>&, const allocator<_T2>&)’ (reversed)
237 | operator==(const allocator<_T1>&, const allocator<_T2>&)
| ^~~~~~~~
/usr/include/c++/13.1.1/bits/allocator.h:237:5: note: template argument deduction/substitution failed:
/home/jordan/Dev/Havoc/client/Source/Havoc/Packager.cpp:310:68: note: ‘const nlohmann::json_abi_v3_11_2::basic_json<>::value_type’ {aka ‘const nlohmann::json_abi_v3_11_2::basic_json<>’} is not derived from ‘const std::allocator<_CharT>’
310 | if ( ListenerInfo.Protocol == listener[ "Name" ] )
| ^
In file included from /usr/include/c++/13.1.1/bits/basic_string.h:47,
from /usr/include/c++/13.1.1/string:54:
/usr/include/c++/13.1.1/string_view:615:5: note: candidate: ‘template<class _CharT, class _Traits> constexpr bool std::operator==(basic_string_view<_CharT, _Traits>, __type_identity_t<basic_string_view<_CharT, _Traits> >)’ (reversed)
615 | operator==(basic_string_view<_CharT, _Traits> __x,
| ^~~~~~~~
/usr/include/c++/13.1.1/string_view:615:5: note: template argument deduction/substitution failed:
/home/jordan/Dev/Havoc/client/Source/Havoc/Packager.cpp:310:68: note: ‘nlohmann::json_abi_v3_11_2::basic_json<>’ is not derived from ‘std::basic_string_view<_CharT, _Traits>’
310 | if ( ListenerInfo.Protocol == listener[ "Name" ] )
| ^
/usr/include/c++/13.1.1/bits/basic_string.h:3728:5: note: candidate: ‘template<class _CharT, class _Traits, class _Alloc> constexpr bool std::operator==(const __cxx11::basic_string<_CharT, _Traits, _Allocator>&, const _CharT*)’ (reversed)
3728 | operator==(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
| ^~~~~~~~
/usr/include/c++/13.1.1/bits/basic_string.h:3728:5: note: template argument deduction/substitution failed:
/home/jordan/Dev/Havoc/client/Source/Havoc/Packager.cpp:310:68: note: ‘const nlohmann::json_abi_v3_11_2::basic_json<>::value_type’ {aka ‘const nlohmann::json_abi_v3_11_2::basic_json<>’} is not derived from ‘const std::__cxx11::basic_string<_CharT, _Traits, _Allocator>’
310 | if ( ListenerInfo.Protocol == listener[ "Name" ] )
| ^
In file included from /usr/include/c++/13.1.1/bits/uses_allocator_args.h:38,
from /usr/include/c++/13.1.1/bits/memory_resource.h:41,
from /usr/include/c++/13.1.1/string:58:
/usr/include/c++/13.1.1/tuple:1905:5: note: candidate: ‘template<class ... _TElements, class ... _UElements> constexpr bool std::operator==(const tuple<_UTypes ...>&, const tuple<_UTypes ...>&)’ (reversed)
1905 | operator==(const tuple<_TElements...>& __t,
| ^~~~~~~~
/usr/include/c++/13.1.1/tuple:1905:5: note: template argument deduction/substitution failed:
/home/jordan/Dev/Havoc/client/Source/Havoc/Packager.cpp:310:68: note: ‘const nlohmann::json_abi_v3_11_2::basic_json<>::value_type’ {aka ‘const nlohmann::json_abi_v3_11_2::basic_json<>’} is not derived from ‘const std::tuple<_UTypes ...>’
310 | if ( ListenerInfo.Protocol == listener[ "Name" ] )
| ^
In file included from /usr/include/c++/13.1.1/functional:59,
from /usr/include/qt/QtCore/qhashfunctions.h:48,
from /usr/include/qt/QtCore/qlist.h:47,
from /usr/include/qt/QtCore/qobject.h:49:
/usr/include/c++/13.1.1/bits/std_function.h:737:5: note: candidate: ‘template<class _Res, class ... _Args> bool std::operator==(const function<_Res(_ArgTypes ...)>&, nullptr_t)’ (reversed)
737 | operator==(const function<_Res(_Args...)>& __f, nullptr_t) noexcept
| ^~~~~~~~
/usr/include/c++/13.1.1/bits/std_function.h:737:5: note: template argument deduction/substitution failed:
/home/jordan/Dev/Havoc/client/Source/Havoc/Packager.cpp:310:68: note: ‘const nlohmann::json_abi_v3_11_2::basic_json<>::value_type’ {aka ‘const nlohmann::json_abi_v3_11_2::basic_json<>’} is not derived from ‘const std::function<_Res(_ArgTypes ...)>’
310 | if ( ListenerInfo.Protocol == listener[ "Name" ] )
| ^
In file included from /usr/include/c++/13.1.1/bits/shared_ptr_base.h:59,
from /usr/include/c++/13.1.1/bits/shared_ptr.h:53,
from /usr/include/c++/13.1.1/chrono:49,
from /usr/include/qt/QtCore/qobject.h:59:
/usr/include/c++/13.1.1/bits/unique_ptr.h:829:5: note: candidate: ‘template<class _Tp, class _Dp, class _Up, class _Ep> bool std::operator==(const unique_ptr<_Tp, _Dp>&, const unique_ptr<_Up, _Ep>&)’ (reversed)
829 | operator==(const unique_ptr<_Tp, _Dp>& __x,
| ^~~~~~~~
/usr/include/c++/13.1.1/bits/unique_ptr.h:829:5: note: template argument deduction/substitution failed:
/home/jordan/Dev/Havoc/client/Source/Havoc/Packager.cpp:310:68: note: ‘const nlohmann::json_abi_v3_11_2::basic_json<>::value_type’ {aka ‘const nlohmann::json_abi_v3_11_2::basic_json<>’} is not derived from ‘const std::unique_ptr<_Tp, _Dp>’
310 | if ( ListenerInfo.Protocol == listener[ "Name" ] )
| ^
/usr/include/c++/13.1.1/bits/unique_ptr.h:837:5: note: candidate: ‘template<class _Tp, class _Dp> bool std::operator==(const unique_ptr<_Tp, _Dp>&, nullptr_t)’ (reversed)
837 | operator==(const unique_ptr<_Tp, _Dp>& __x, nullptr_t) noexcept
| ^~~~~~~~
/usr/include/c++/13.1.1/bits/unique_ptr.h:837:5: note: template argument deduction/substitution failed:
/home/jordan/Dev/Havoc/client/Source/Havoc/Packager.cpp:310:68: note: ‘const nlohmann::json_abi_v3_11_2::basic_json<>::value_type’ {aka ‘const nlohmann::json_abi_v3_11_2::basic_json<>’} is not derived from ‘const std::unique_ptr<_Tp, _Dp>’
310 | if ( ListenerInfo.Protocol == listener[ "Name" ] )
| ^
/usr/include/c++/13.1.1/bits/shared_ptr_base.h:1793:5: note: candidate: ‘template<class _Tp1, class _Tp2, __gnu_cxx::_Lock_policy _Lp> bool std::operator==(const __shared_ptr<_Tp1, _Lp>&, const __shared_ptr<_Tp2, _Lp>&)’ (reversed)
1793 | operator==(const __shared_ptr<_Tp1, _Lp>& __a,
| ^~~~~~~~
/usr/include/c++/13.1.1/bits/shared_ptr_base.h:1793:5: note: template argument deduction/substitution failed:
/home/jordan/Dev/Havoc/client/Source/Havoc/Packager.cpp:310:68: note: ‘const nlohmann::json_abi_v3_11_2::basic_json<>::value_type’ {aka ‘const nlohmann::json_abi_v3_11_2::basic_json<>’} is not derived from ‘const std::__shared_ptr<_Tp1, _Lp>’
310 | if ( ListenerInfo.Protocol == listener[ "Name" ] )
| ^
/usr/include/c++/13.1.1/bits/shared_ptr_base.h:1799:5: note: candidate: ‘template<class _Tp, __gnu_cxx::_Lock_policy _Lp> bool std::operator==(const __shared_ptr<_Tp, _Lp>&, nullptr_t)’ (reversed)
1799 | operator==(const __shared_ptr<_Tp, _Lp>& __a, nullptr_t) noexcept
| ^~~~~~~~
/usr/include/c++/13.1.1/bits/shared_ptr_base.h:1799:5: note: template argument deduction/substitution failed:
/home/jordan/Dev/Havoc/client/Source/Havoc/Packager.cpp:310:68: note: ‘const nlohmann::json_abi_v3_11_2::basic_json<>::value_type’ {aka ‘const nlohmann::json_abi_v3_11_2::basic_json<>’} is not derived from ‘const std::__shared_ptr<_Tp, _Lp>’
310 | if ( ListenerInfo.Protocol == listener[ "Name" ] )
| ^
/usr/include/c++/13.1.1/bits/shared_ptr.h:555:5: note: candidate: ‘template<class _Tp, class _Up> bool std::operator==(const shared_ptr<_Tp>&, const shared_ptr<_Tp>&)’ (reversed)
555 | operator==(const shared_ptr<_Tp>& __a, const shared_ptr<_Up>& __b) noexcept
| ^~~~~~~~
/usr/include/c++/13.1.1/bits/shared_ptr.h:555:5: note: template argument deduction/substitution failed:
/home/jordan/Dev/Havoc/client/Source/Havoc/Packager.cpp:310:68: note: ‘const nlohmann::json_abi_v3_11_2::basic_json<>::value_type’ {aka ‘const nlohmann::json_abi_v3_11_2::basic_json<>’} is not derived from ‘const std::shared_ptr<_Tp>’
310 | if ( ListenerInfo.Protocol == listener[ "Name" ] )
| ^
/usr/include/c++/13.1.1/bits/shared_ptr.h:561:5: note: candidate: ‘template<class _Tp> bool std::operator==(const shared_ptr<_Tp>&, nullptr_t)’ (reversed)
561 | operator==(const shared_ptr<_Tp>& __a, nullptr_t) noexcept
| ^~~~~~~~
/usr/include/c++/13.1.1/bits/shared_ptr.h:561:5: note: template argument deduction/substitution failed:
/home/jordan/Dev/Havoc/client/Source/Havoc/Packager.cpp:310:68: note: ‘const nlohmann::json_abi_v3_11_2::basic_json<>::value_type’ {aka ‘const nlohmann::json_abi_v3_11_2::basic_json<>’} is not derived from ‘const std::shared_ptr<_Tp>’
310 | if ( ListenerInfo.Protocol == listener[ "Name" ] )
| ^
In file included from /usr/include/c++/13.1.1/format:43,
from /usr/include/c++/13.1.1/bits/chrono_io.h:39,
from /usr/include/c++/13.1.1/chrono:3330:
/usr/include/c++/13.1.1/optional:1282:5: note: candidate: ‘template<class _Tp> constexpr bool std::operator==(const optional<_Tp>&, nullopt_t)’ (reversed)
1282 | operator==(const optional<_Tp>& __lhs, nullopt_t) noexcept
| ^~~~~~~~
/usr/include/c++/13.1.1/optional:1282:5: note: template argument deduction/substitution failed:
/home/jordan/Dev/Havoc/client/Source/Havoc/Packager.cpp:310:68: note: ‘const nlohmann::json_abi_v3_11_2::basic_json<>::value_type’ {aka ‘const nlohmann::json_abi_v3_11_2::basic_json<>’} is not derived from ‘const std::optional<_Tp>’
310 | if ( ListenerInfo.Protocol == listener[ "Name" ] )
| ^
In file included from /usr/include/c++/13.1.1/x86_64-pc-linux-gnu/bits/c++allocator.h:33,
from /usr/include/c++/13.1.1/bits/allocator.h:46:
/usr/include/c++/13.1.1/bits/new_allocator.h:211:9: note: candidate: ‘template<class _Up> constexpr bool std::operator==(const __new_allocator<unsigned char>&, const __new_allocator<_Tp>&)’ (reversed)
211 | operator==(const __new_allocator&, const __new_allocator<_Up>&)
| ^~~~~~~~
/usr/include/c++/13.1.1/bits/new_allocator.h:211:9: note: template argument deduction/substitution failed:
/home/jordan/Dev/Havoc/client/Source/Havoc/Packager.cpp:310:68: note: ‘std::string’ {aka ‘std::__cxx11::basic_string<char>’} is not derived from ‘const std::__new_allocator<_Tp>’
310 | if ( ListenerInfo.Protocol == listener[ "Name" ] )
| ^
/usr/include/c++/13.1.1/bits/new_allocator.h:211:9: note: candidate: ‘template<class _Up> constexpr bool std::operator==(const __new_allocator<char>&, const __new_allocator<_Tp>&)’ (reversed)
211 | operator==(const __new_allocator&, const __new_allocator<_Up>&)
| ^~~~~~~~
/usr/include/c++/13.1.1/bits/new_allocator.h:211:9: note: template argument deduction/substitution failed:
/home/jordan/Dev/Havoc/client/Source/Havoc/Packager.cpp:310:68: note: ‘std::string’ {aka ‘std::__cxx11::basic_string<char>’} is not derived from ‘const std::__new_allocator<_Tp>’
310 | if ( ListenerInfo.Protocol == listener[ "Name" ] )
| ^
In file included from /usr/include/qt/QtCore/qstring.h:49:
/usr/include/qt/QtCore/qchar.h:61:30: note: candidate: ‘constexpr bool operator==(char, QLatin1Char)’ (reversed)
61 | Q_DECL_CONSTEXPR inline bool operator==(char lhs, QLatin1Char rhs) noexcept { return lhs == rhs.toLatin1(); }
| ^~~~~~~~
/usr/include/qt/QtCore/qchar.h:61:46: note: no known conversion for argument 1 from ‘const nlohmann::json_abi_v3_11_2::basic_json<>::value_type’ {aka ‘const nlohmann::json_abi_v3_11_2::basic_json<>’} to ‘char’
61 | Q_DECL_CONSTEXPR inline bool operator==(char lhs, QLatin1Char rhs) noexcept { return lhs == rhs.toLatin1(); }
| ~~~~~^~~
/usr/include/qt/QtCore/qchar.h:68:30: note: candidate: ‘constexpr bool operator==(QLatin1Char, char)’ (reversed)
68 | Q_DECL_CONSTEXPR inline bool operator==(QLatin1Char lhs, char rhs) noexcept { return lhs.toLatin1() == rhs; }
| ^~~~~~~~
/usr/include/qt/QtCore/qchar.h:68:53: note: no known conversion for argument 1 from ‘const nlohmann::json_abi_v3_11_2::basic_json<>::value_type’ {aka ‘const nlohmann::json_abi_v3_11_2::basic_json<>’} to ‘QLatin1Char’
68 | Q_DECL_CONSTEXPR inline bool operator==(QLatin1Char lhs, char rhs) noexcept { return lhs.toLatin1() == rhs; }
| ~~~~~~~~~~~~^~~
/usr/include/qt/QtCore/qchar.h:646:30: note: candidate: ‘constexpr bool operator==(QChar, std::nullptr_t)’ (reversed)
646 | Q_DECL_CONSTEXPR inline bool operator==(QChar lhs, std::nullptr_t) noexcept { return lhs.isNull(); }
| ^~~~~~~~
/usr/include/qt/QtCore/qchar.h:646:47: note: no known conversion for argument 1 from ‘const nlohmann::json_abi_v3_11_2::basic_json<>::value_type’ {aka ‘const nlohmann::json_abi_v3_11_2::basic_json<>’} to ‘QChar’
646 | Q_DECL_CONSTEXPR inline bool operator==(QChar lhs, std::nullptr_t) noexcept { return lhs.isNull(); }
| ~~~~~~^~~
/usr/include/qt/QtCore/qchar.h:648:30: note: candidate: ‘constexpr bool operator==(std::nullptr_t, QChar)’ (reversed)
648 | Q_DECL_CONSTEXPR inline bool operator==(std::nullptr_t, QChar rhs) noexcept { return rhs.isNull(); }
| ^~~~~~~~
/usr/include/qt/QtCore/qchar.h:648:41: note: no known conversion for argument 1 from ‘const nlohmann::json_abi_v3_11_2::basic_json<>::value_type’ {aka ‘const nlohmann::json_abi_v3_11_2::basic_json<>’} to ‘std::nullptr_t’
648 | Q_DECL_CONSTEXPR inline bool operator==(std::nullptr_t, QChar rhs) noexcept { return rhs.isNull(); }
| ^~~~~~~~~~~~~~
/usr/include/qt/QtCore/qbytearray.h:686:13: note: candidate: ‘bool operator==(const QByteArray&, const char*)’ (reversed)
686 | inline bool operator==(const QByteArray &a1, const char *a2) noexcept
| ^~~~~~~~
/usr/include/qt/QtCore/qbytearray.h:686:42: note: no known conversion for argument 1 from ‘const nlohmann::json_abi_v3_11_2::basic_json<>::value_type’ {aka ‘const nlohmann::json_abi_v3_11_2::basic_json<>’} to ‘const QByteArray&’
686 | inline bool operator==(const QByteArray &a1, const char *a2) noexcept
| ~~~~~~~~~~~~~~~~~~^~
/usr/include/qt/QtCore/qbytearray.h:688:13: note: candidate: ‘bool operator==(const char*, const QByteArray&)’ (reversed)
688 | inline bool operator==(const char *a1, const QByteArray &a2) noexcept
| ^~~~~~~~
/usr/include/qt/QtCore/qbytearray.h:688:36: note: no known conversion for argument 1 from ‘const nlohmann::json_abi_v3_11_2::basic_json<>::value_type’ {aka ‘const nlohmann::json_abi_v3_11_2::basic_json<>’} to ‘const char*’
688 | inline bool operator==(const char *a1, const QByteArray &a2) noexcept
| ~~~~~~~~~~~~^~
/usr/include/qt/QtCore/qstring.h:1376:13: note: candidate: ‘bool operator==(QString::Null, const QString&)’ (reversed)
1376 | inline bool operator==(QString::Null, const QString &s) { return s.isNull(); }
| ^~~~~~~~
/usr/include/qt/QtCore/qstring.h:1376:24: note: no known conversion for argument 1 from ‘const nlohmann::json_abi_v3_11_2::basic_json<>::value_type’ {aka ‘const nlohmann::json_abi_v3_11_2::basic_json<>’} to ‘QString::Null’
1376 | inline bool operator==(QString::Null, const QString &s) { return s.isNull(); }
| ^~~~~~~~~~~~~
/usr/include/qt/QtCore/qstring.h:1378:13: note: candidate: ‘bool operator==(const QString&, QString::Null)’ (reversed)
1378 | inline bool operator==(const QString &s, QString::Null) { return s.isNull(); }
| ^~~~~~~~
/usr/include/qt/QtCore/qstring.h:1378:39: note: no known conversion for argument 1 from ‘const nlohmann::json_abi_v3_11_2::basic_json<>::value_type’ {aka ‘const nlohmann::json_abi_v3_11_2::basic_json<>’} to ‘const QString&’
1378 | inline bool operator==(const QString &s, QString::Null) { return s.isNull(); }
| ~~~~~~~~~~~~~~~^
/usr/include/qt/QtCore/qstring.h:1430:32: note: candidate: ‘bool operator==(const char*, const QString&)’ (reversed)
1430 | inline QT_ASCII_CAST_WARN bool operator==(const char *s1, const QString &s2)
| ^~~~~~~~
/usr/include/qt/QtCore/qstring.h:1430:55: note: no known conversion for argument 1 from ‘const nlohmann::json_abi_v3_11_2::basic_json<>::value_type’ {aka ‘const nlohmann::json_abi_v3_11_2::basic_json<>’} to ‘const char*’
1430 | inline QT_ASCII_CAST_WARN bool operator==(const char *s1, const QString &s2)
| ~~~~~~~~~~~~^~
/usr/include/qt/QtCore/qstring.h:1443:32: note: candidate: ‘bool operator==(const char*, QLatin1String)’ (reversed)
1443 | inline QT_ASCII_CAST_WARN bool operator==(const char *s1, QLatin1String s2)
| ^~~~~~~~
/usr/include/qt/QtCore/qstring.h:1443:55: note: no known conversion for argument 1 from ‘const nlohmann::json_abi_v3_11_2::basic_json<>::value_type’ {aka ‘const nlohmann::json_abi_v3_11_2::basic_json<>’} to ‘const char*’
1443 | inline QT_ASCII_CAST_WARN bool operator==(const char *s1, QLatin1String s2)
| ~~~~~~~~~~~~^~
/usr/include/qt/QtCore/qstring.h:1833:20: note: candidate: ‘bool operator==(const QString&, const QStringRef&)’ (reversed)
1833 | Q_CORE_EXPORT bool operator==(const QString &lhs, const QStringRef &rhs) noexcept;
| ^~~~~~~~
/usr/include/qt/QtCore/qstring.h:1833:46: note: no known conversion for argument 1 from ‘const nlohmann::json_abi_v3_11_2::basic_json<>::value_type’ {aka ‘const nlohmann::json_abi_v3_11_2::basic_json<>’} to ‘const QString&’
1833 | Q_CORE_EXPORT bool operator==(const QString &lhs, const QStringRef &rhs) noexcept;
| ~~~~~~~~~~~~~~~^~~
/usr/include/qt/QtCore/qstring.h:1840:13: note: candidate: ‘bool operator==(const QStringRef&, const QString&)’ (reversed)
1840 | inline bool operator==(const QStringRef &lhs, const QString &rhs) noexcept { return rhs == lhs; }
| ^~~~~~~~
/usr/include/qt/QtCore/qstring.h:1840:42: note: no known conversion for argument 1 from ‘const nlohmann::json_abi_v3_11_2::basic_json<>::value_type’ {aka ‘const nlohmann::json_abi_v3_11_2::basic_json<>’} to ‘const QStringRef&’
1840 | inline bool operator==(const QStringRef &lhs, const QString &rhs) noexcept { return rhs == lhs; }
| ~~~~~~~~~~~~~~~~~~^~~
/usr/include/qt/QtCore/qstring.h:1869:20: note: candidate: ‘bool operator==(QLatin1String, const QStringRef&)’ (reversed)
1869 | Q_CORE_EXPORT bool operator==(QLatin1String lhs, const QStringRef &rhs) noexcept;
| ^~~~~~~~
/usr/include/qt/QtCore/qstring.h:1869:68: note: no known conversion for argument 2 from ‘std::string’ {aka ‘std::__cxx11::basic_string<char>’} to ‘const QStringRef&’
1869 | Q_CORE_EXPORT bool operator==(QLatin1String lhs, const QStringRef &rhs) noexcept;
| ~~~~~~~~~~~~~~~~~~^~~
/usr/include/qt/QtCore/qstring.h:1876:13: note: candidate: ‘bool operator==(const QStringRef&, QLatin1String)’ (reversed)
1876 | inline bool operator==(const QStringRef &lhs, QLatin1String rhs) noexcept { return rhs == lhs; }
| ^~~~~~~~
/usr/include/qt/QtCore/qstring.h:1876:42: note: no known conversion for argument 1 from ‘const nlohmann::json_abi_v3_11_2::basic_json<>::value_type’ {aka ‘const nlohmann::json_abi_v3_11_2::basic_json<>’} to ‘const QStringRef&’
1876 | inline bool operator==(const QStringRef &lhs, QLatin1String rhs) noexcept { return rhs == lhs; }
| ~~~~~~~~~~~~~~~~~~^~~
/usr/include/qt/QtCore/qstring.h:1884:13: note: candidate: ‘bool operator==(QChar, const QString&)’ (reversed)
1884 | inline bool operator==(QChar lhs, const QString &rhs) noexcept
| ^~~~~~~~
/usr/include/qt/QtCore/qstring.h:1884:30: note: no known conversion for argument 1 from ‘const nlohmann::json_abi_v3_11_2::basic_json<>::value_type’ {aka ‘const nlohmann::json_abi_v3_11_2::basic_json<>’} to ‘QChar’
1884 | inline bool operator==(QChar lhs, const QString &rhs) noexcept
| ~~~~~~^~~
/usr/include/qt/QtCore/qstring.h:1895:13: note: candidate: ‘bool operator==(const QString&, QChar)’ (reversed)
1895 | inline bool operator==(const QString &lhs, QChar rhs) noexcept { return rhs == lhs; }
| ^~~~~~~~
/usr/include/qt/QtCore/qstring.h:1895:39: note: no known conversion for argument 1 from ‘const nlohmann::json_abi_v3_11_2::basic_json<>::value_type’ {aka ‘const nlohmann::json_abi_v3_11_2::basic_json<>’} to ‘const QString&’
1895 | inline bool operator==(const QString &lhs, QChar rhs) noexcept { return rhs == lhs; }
| ~~~~~~~~~~~~~~~^~~
/usr/include/qt/QtCore/qstring.h:1903:13: note: candidate: ‘bool operator==(QChar, const QStringRef&)’ (reversed)
1903 | inline bool operator==(QChar lhs, const QStringRef &rhs) noexcept
| ^~~~~~~~
/usr/include/qt/QtCore/qstring.h:1903:30: note: no known conversion for argument 1 from ‘const nlohmann::json_abi_v3_11_2::basic_json<>::value_type’ {aka ‘const nlohmann::json_abi_v3_11_2::basic_json<>’} to ‘QChar’
1903 | inline bool operator==(QChar lhs, const QStringRef &rhs) noexcept
| ~~~~~~^~~
/usr/include/qt/QtCore/qstring.h:1914:13: note: candidate: ‘bool operator==(const QStringRef&, QChar)’ (reversed)
1914 | inline bool operator==(const QStringRef &lhs, QChar rhs) noexcept { return rhs == lhs; }
| ^~~~~~~~
/usr/include/qt/QtCore/qstring.h:1914:42: note: no known conversion for argument 1 from ‘const nlohmann::json_abi_v3_11_2::basic_json<>::value_type’ {aka ‘const nlohmann::json_abi_v3_11_2::basic_json<>’} to ‘const QStringRef&’
1914 | inline bool operator==(const QStringRef &lhs, QChar rhs) noexcept { return rhs == lhs; }
| ~~~~~~~~~~~~~~~~~~^~~
/usr/include/qt/QtCore/qstring.h:1922:13: note: candidate: ‘bool operator==(QChar, QLatin1String)’ (reversed)
1922 | inline bool operator==(QChar lhs, QLatin1String rhs) noexcept
| ^~~~~~~~
/usr/include/qt/QtCore/qstring.h:1922:30: note: no known conversion for argument 1 from ‘const nlohmann::json_abi_v3_11_2::basic_json<>::value_type’ {aka ‘const nlohmann::json_abi_v3_11_2::basic_json<>’} to ‘QChar’
1922 | inline bool operator==(QChar lhs, QLatin1String rhs) noexcept
| ~~~~~~^~~
/usr/include/qt/QtCore/qstring.h:1933:13: note: candidate: ‘bool operator==(QLatin1String, QChar)’ (reversed)
1933 | inline bool operator==(QLatin1String lhs, QChar rhs) noexcept { return rhs == lhs; }
| ^~~~~~~~
/usr/include/qt/QtCore/qstring.h:1933:49: note: no known conversion for argument 2 from ‘std::string’ {aka ‘std::__cxx11::basic_string<char>’} to ‘QChar’
1933 | inline bool operator==(QLatin1String lhs, QChar rhs) noexcept { return rhs == lhs; }
| ~~~~~~^~~
/usr/include/qt/QtCore/qstring.h:1949:13: note: candidate: ‘bool operator==(QStringView, QChar)’ (reversed)
1949 | inline bool operator==(QStringView lhs, QChar rhs) noexcept { return lhs == QStringView(&rhs, 1); }
| ^~~~~~~~
/usr/include/qt/QtCore/qstring.h:1949:36: note: no known conversion for argument 1 from ‘const nlohmann::json_abi_v3_11_2::basic_json<>::value_type’ {aka ‘const nlohmann::json_abi_v3_11_2::basic_json<>’} to ‘QStringView’
1949 | inline bool operator==(QStringView lhs, QChar rhs) noexcept { return lhs == QStringView(&rhs, 1); }
| ~~~~~~~~~~~~^~~
/usr/include/qt/QtCore/qstring.h:1956:13: note: candidate: ‘bool operator==(QChar, QStringView)’ (reversed)
1956 | inline bool operator==(QChar lhs, QStringView rhs) noexcept { return QStringView(&lhs, 1) == rhs; }
| ^~~~~~~~
/usr/include/qt/QtCore/qstring.h:1956:30: note: no known conversion for argument 1 from ‘const nlohmann::json_abi_v3_11_2::basic_json<>::value_type’ {aka ‘const nlohmann::json_abi_v3_11_2::basic_json<>’} to ‘QChar’
1956 | inline bool operator==(QChar lhs, QStringView rhs) noexcept { return QStringView(&lhs, 1) == rhs; }
| ~~~~~~^~~
/usr/include/qt/QtCore/qstring.h:1964:13: note: candidate: ‘bool operator==(QStringView, QLatin1String)’ (reversed)
1964 | inline bool operator==(QStringView lhs, QLatin1String rhs) noexcept { return lhs.size() == rhs.size() && QtPrivate::compareStrings(lhs, rhs) == 0; }
| ^~~~~~~~
/usr/include/qt/QtCore/qstring.h:1964:36: note: no known conversion for argument 1 from ‘const nlohmann::json_abi_v3_11_2::basic_json<>::value_type’ {aka ‘const nlohmann::json_abi_v3_11_2::basic_json<>’} to ‘QStringView’
1964 | inline bool operator==(QStringView lhs, QLatin1String rhs) noexcept { return lhs.size() == rhs.size() && QtPrivate::compareStrings(lhs, rhs) == 0; }
| ~~~~~~~~~~~~^~~
/usr/include/qt/QtCore/qstring.h:1971:13: note: candidate: ‘bool operator==(QLatin1String, QStringView)’ (reversed)
1971 | inline bool operator==(QLatin1String lhs, QStringView rhs) noexcept { return lhs.size() == rhs.size() && QtPrivate::compareStrings(lhs, rhs) == 0; }
| ^~~~~~~~
/usr/include/qt/QtCore/qstring.h:1971:55: note: no known conversion for argument 2 from ‘std::string’ {aka ‘std::__cxx11::basic_string<char>’} to ‘QStringView’
1971 | inline bool operator==(QLatin1String lhs, QStringView rhs) noexcept { return lhs.size() == rhs.size() && QtPrivate::compareStrings(lhs, rhs) == 0; }
| ~~~~~~~~~~~~^~~
/usr/include/qt/QtCore/qstring.h:1980:32: note: candidate: ‘bool operator==(const QStringRef&, const QByteArray&)’ (reversed)
1980 | inline QT_ASCII_CAST_WARN bool operator==(const QStringRef &lhs, const QByteArray &rhs) { return lhs.compare(rhs) == 0; }
| ^~~~~~~~
/usr/include/qt/QtCore/qstring.h:1980:61: note: no known conversion for argument 1 from ‘const nlohmann::json_abi_v3_11_2::basic_json<>::value_type’ {aka ‘const nlohmann::json_abi_v3_11_2::basic_json<>’} to ‘const QStringRef&’
1980 | inline QT_ASCII_CAST_WARN bool operator==(const QStringRef &lhs, const QByteArray &rhs) { return lhs.compare(rhs) == 0; }
| ~~~~~~~~~~~~~~~~~~^~~
/usr/include/qt/QtCore/qstring.h:1987:32: note: candidate: ‘bool operator==(const QByteArray&, const QStringRef&)’ (reversed)
1987 | inline QT_ASCII_CAST_WARN bool operator==(const QByteArray &lhs, const QStringRef &rhs) { return rhs.compare(lhs) == 0; }
| ^~~~~~~~
/usr/include/qt/QtCore/qstring.h:1987:61: note: no known conversion for argument 1 from ‘const nlohmann::json_abi_v3_11_2::basic_json<>::value_type’ {aka ‘const nlohmann::json_abi_v3_11_2::basic_json<>’} to ‘const QByteArray&’
1987 | inline QT_ASCII_CAST_WARN bool operator==(const QByteArray &lhs, const QStringRef &rhs) { return rhs.compare(lhs) == 0; }
| ~~~~~~~~~~~~~~~~~~^~~
/usr/include/qt/QtCore/qstring.h:2008:32: note: candidate: ‘bool operator==(const char*, const QStringRef&)’ (reversed)
2008 | inline QT_ASCII_CAST_WARN bool operator==(const char *s1, const QStringRef &s2)
| ^~~~~~~~
/usr/include/qt/QtCore/qstring.h:2008:55: note: no known conversion for argument 1 from ‘const nlohmann::json_abi_v3_11_2::basic_json<>::value_type’ {aka ‘const nlohmann::json_abi_v3_11_2::basic_json<>’} to ‘const char*’
2008 | inline QT_ASCII_CAST_WARN bool operator==(const char *s1, const QStringRef &s2)
| ~~~~~~~~~~~~^~
In file included from /usr/include/qt/QtCore/qlocale.h:43:
/usr/include/qt/QtCore/qvariant.h:611:13: note: candidate: ‘bool operator==(const QVariant&, const QVariantComparisonHelper&)’ (reversed)
611 | inline bool operator==(const QVariant &v1, const QVariantComparisonHelper &v2)
| ^~~~~~~~
/usr/include/qt/QtCore/qvariant.h:611:40: note: no known conversion for argument 1 from ‘const nlohmann::json_abi_v3_11_2::basic_json<>::value_type’ {aka ‘const nlohmann::json_abi_v3_11_2::basic_json<>’} to ‘const QVariant&’
611 | inline bool operator==(const QVariant &v1, const QVariantComparisonHelper &v2)
| ~~~~~~~~~~~~~~~~^~
In file included from /usr/include/qt/QtNetwork/qtcpserver.h:46,
from /usr/include/qt/QtNetwork/QTcpServer:1,
from /home/jordan/Dev/Havoc/client/Include/global.hpp:21:
/usr/include/qt/QtNetwork/qhostaddress.h:165:13: note: candidate: ‘bool operator==(QHostAddress::SpecialAddress, const QHostAddress&)’ (reversed)
165 | inline bool operator ==(QHostAddress::SpecialAddress address1, const QHostAddress &address2)
| ^~~~~~~~
/usr/include/qt/QtNetwork/qhostaddress.h:165:84: note: no known conversion for argument 2 from ‘std::string’ {aka ‘std::__cxx11::basic_string<char>’} to ‘const QHostAddress&’
165 | inline bool operator ==(QHostAddress::SpecialAddress address1, const QHostAddress &address2)
| ~~~~~~~~~~~~~~~~~~~~^~~~~~~~
In file included from /usr/include/qt/QtCore/qcborvalue.h:45,
from /usr/include/qt/QtCore/qjsonvalue.h:46,
from /usr/include/qt/QtCore/qjsondocument.h:43,
from /usr/include/qt/QtCore/QJsonDocument:1,
from /home/jordan/Dev/Havoc/client/Include/global.hpp:23:
/usr/include/qt/QtCore/qcborcommon.h:94:13: note: candidate: ‘bool operator==(QCborTag, QCborKnownTags)’ (reversed)
94 | inline bool operator==(QCborTag t, QCborKnownTags kt) { return quint64(t) == quint64(kt); }
| ^~~~~~~~
/usr/include/qt/QtCore/qcborcommon.h:94:51: note: no known conversion for argument 2 from ‘std::string’ {aka ‘std::__cxx11::basic_string<char>’} to ‘QCborKnownTags’
94 | inline bool operator==(QCborTag t, QCborKnownTags kt) { return quint64(t) == quint64(kt); }
| ~~~~~~~~~~~~~~~^~
/usr/include/qt/QtCore/qcborcommon.h:95:13: note: candidate: ‘bool operator==(QCborKnownTags, QCborTag)’ (reversed)
95 | inline bool operator==(QCborKnownTags kt, QCborTag t) { return quint64(t) == quint64(kt); }
| ^~~~~~~~
/usr/include/qt/QtCore/qcborcommon.h:95:52: note: no known conversion for argument 2 from ‘std::string’ {aka ‘std::__cxx11::basic_string<char>’} to ‘QCborTag’
95 | inline bool operator==(QCborKnownTags kt, QCborTag t) { return quint64(t) == quint64(kt); }
| ~~~~~~~~~^
In file included from /usr/include/qt/QtGui/qtextlayout.h:49,
from /usr/include/qt/QtGui/qabstracttextdocumentlayout.h:45,
from /usr/include/qt/QtWidgets/qplaintextedit.h:51,
from /usr/include/qt/QtWidgets/QPlainTextEdit:1,
from /home/jordan/Dev/Havoc/client/Include/UserInterface/Dialogs/Connect.hpp:8,
from /home/jordan/Dev/Havoc/client/Include/UserInterface/HavocUI.hpp:7,
from /home/jordan/Dev/Havoc/client/Include/Havoc/Havoc.hpp:5,
from /home/jordan/Dev/Havoc/client/Source/Havoc/Packager.cpp:3:
/usr/include/qt/QtGui/qevent.h:841:13: note: candidate: ‘bool operator==(QKeyEvent*, QKeySequence::StandardKey)’ (reversed)
841 | inline bool operator==(QKeyEvent *e, QKeySequence::StandardKey key){return (e ? e->matches(key) : false);}
| ^~~~~~~~
/usr/include/qt/QtGui/qevent.h:841:35: note: no known conversion for argument 1 from ‘const nlohmann::json_abi_v3_11_2::basic_json<>::value_type’ {aka ‘const nlohmann::json_abi_v3_11_2::basic_json<>’} to ‘QKeyEvent*’
841 | inline bool operator==(QKeyEvent *e, QKeySequence::StandardKey key){return (e ? e->matches(key) : false);}
| ~~~~~~~~~~~^
/usr/include/qt/QtGui/qevent.h:842:13: note: candidate: ‘bool operator==(QKeySequence::StandardKey, QKeyEvent*)’ (reversed)
842 | inline bool operator==(QKeySequence::StandardKey key, QKeyEvent *e){return (e ? e->matches(key) : false);}
| ^~~~~~~~
/usr/include/qt/QtGui/qevent.h:842:66: note: no known conversion for argument 2 from ‘std::string’ {aka ‘std::__cxx11::basic_string<char>’} to ‘QKeyEvent*’
842 | inline bool operator==(QKeySequence::StandardKey key, QKeyEvent *e){return (e ? e->matches(key) : false);}
| ~~~~~~~~~~~^
In file included from /usr/include/c++/13.1.1/bits/ios_base.h:46,
from /usr/include/c++/13.1.1/streambuf:43,
from /usr/include/c++/13.1.1/bits/streambuf_iterator.h:35,
from /usr/include/c++/13.1.1/iterator:66,
from /usr/include/qt/QtCore/qbytearray.h:53:
/usr/include/c++/13.1.1/system_error:465:3: note: candidate: ‘bool std::operator==(const error_code&, const error_condition&)’ (reversed)
465 | operator==(const error_code& __lhs, const error_condition& __rhs) noexcept
| ^~~~~~~~
/usr/include/c++/13.1.1/system_error:465:32: note: no known conversion for argument 1 from ‘const nlohmann::json_abi_v3_11_2::basic_json<>::value_type’ {aka ‘const nlohmann::json_abi_v3_11_2::basic_json<>’} to ‘const std::error_code&’
465 | operator==(const error_code& __lhs, const error_condition& __rhs) noexcept
| ~~~~~~~~~~~~~~~~~~^~~~~
In file included from /usr/include/qt/QtCore/qhashfunctions.h:45:
/usr/include/qt/QtCore/qpair.h:113:41: note: candidate: ‘template<class T1, class T2> constexpr bool operator==(const QPair<T1, T2>&, const QPair<T1, T2>&)’
113 | Q_DECL_CONSTEXPR Q_INLINE_TEMPLATE bool operator==(const QPair<T1, T2> &p1, const QPair<T1, T2> &p2)
| ^~~~~~~~
/usr/include/qt/QtCore/qpair.h:113:41: note: template argument deduction/substitution failed:
/home/jordan/Dev/Havoc/client/Source/Havoc/Packager.cpp:310:68: note: ‘std::string’ {aka ‘std::__cxx11::basic_string<char>’} is not derived from ‘const QPair<T1, T2>’
310 | if ( ListenerInfo.Protocol == listener[ "Name" ] )
| ^
/usr/include/qt/QtCore/qscopedpointer.h:184:13: note: candidate: ‘template<class T, class Cleanup> bool operator==(const QScopedPointer<T, Cleanup>&, const QScopedPointer<T, Cleanup>&)’
184 | inline bool operator==(const QScopedPointer<T, Cleanup> &lhs, const QScopedPointer<T, Cleanup> &rhs) noexcept
| ^~~~~~~~
/usr/include/qt/QtCore/qscopedpointer.h:184:13: note: template argument deduction/substitution failed:
/home/jordan/Dev/Havoc/client/Source/Havoc/Packager.cpp:310:68: note: ‘std::string’ {aka ‘std::__cxx11::basic_string<char>’} is not derived from ‘const QScopedPointer<T, Cleanup>’
310 | if ( ListenerInfo.Protocol == listener[ "Name" ] )
| ^
In file included from /usr/include/c++/13.1.1/utility:69,
from /usr/include/qt/QtCore/qglobal.h:47:
/usr/include/c++/13.1.1/bits/stl_pair.h:812:5: note: candidate: ‘template<class _T1, class _T2> constexpr bool std::operator==(const pair<_T1, _T2>&, const pair<_T1, _T2>&)’
812 | operator==(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y)
| ^~~~~~~~
/usr/include/c++/13.1.1/bits/stl_pair.h:812:5: note: template argument deduction/substitution failed:
/home/jordan/Dev/Havoc/client/Source/Havoc/Packager.cpp:310:68: note: ‘std::string’ {aka ‘std::__cxx11::basic_string<char>’} is not derived from ‘const std::pair<_T1, _T2>’
310 | if ( ListenerInfo.Protocol == listener[ "Name" ] )
| ^
/usr/include/c++/13.1.1/bits/stl_iterator.h:593:5: note: candidate: ‘template<class _Iterator> constexpr bool std::operator==(const reverse_iterator<_IteratorL>&, const reverse_iterator<_IteratorL>&) requires requires{{std::operator==::__x->base() == std::operator==::__y->base()} -> decltype(auto) [requires std::convertible_to<<placeholder>, bool>];}’
593 | operator==(const reverse_iterator<_Iterator>& __x,
| ^~~~~~~~
/usr/include/c++/13.1.1/bits/stl_iterator.h:593:5: note: template argument deduction/substitution failed:
/home/jordan/Dev/Havoc/client/Source/Havoc/Packager.cpp:310:68: note: ‘std::string’ {aka ‘std::__cxx11::basic_string<char>’} is not derived from ‘const std::reverse_iterator<_IteratorL>’
310 | if ( ListenerInfo.Protocol == listener[ "Name" ] )
| ^
/usr/include/c++/13.1.1/bits/stl_iterator.h:1748:5: note: candidate: ‘template<class _Iterator> constexpr bool std::operator==(const move_iterator<_IteratorL>&, const move_iterator<_IteratorL>&)’
1748 | operator==(const move_iterator<_Iterator>& __x,
| ^~~~~~~~
/usr/include/c++/13.1.1/bits/stl_iterator.h:1748:5: note: template argument deduction/substitution failed:
/home/jordan/Dev/Havoc/client/Source/Havoc/Packager.cpp:310:68: note: ‘std::string’ {aka ‘std::__cxx11::basic_string<char>’} is not derived from ‘const std::move_iterator<_IteratorL>’
310 | if ( ListenerInfo.Protocol == listener[ "Name" ] )
| ^
In file included from /usr/include/c++/13.1.1/bits/char_traits.h:42,
from /usr/include/c++/13.1.1/string:42:
/usr/include/c++/13.1.1/bits/postypes.h:192:5: note: candidate: ‘template<class _StateT> bool std::operator==(const fpos<_StateT>&, const fpos<_StateT>&)’
192 | operator==(const fpos<_StateT>& __lhs, const fpos<_StateT>& __rhs)
| ^~~~~~~~
/usr/include/c++/13.1.1/bits/postypes.h:192:5: note: template argument deduction/substitution failed:
/home/jordan/Dev/Havoc/client/Source/Havoc/Packager.cpp:310:68: note: ‘std::string’ {aka ‘std::__cxx11::basic_string<char>’} is not derived from ‘const std::fpos<_StateT>’
310 | if ( ListenerInfo.Protocol == listener[ "Name" ] )
| ^
/usr/include/c++/13.1.1/string_view:608:5: note: candidate: ‘template<class _CharT, class _Traits> constexpr bool std::operator==(basic_string_view<_CharT, _Traits>, basic_string_view<_CharT, _Traits>)’
608 | operator==(basic_string_view<_CharT, _Traits> __x,
| ^~~~~~~~
/usr/include/c++/13.1.1/string_view:608:5: note: template argument deduction/substitution failed:
/home/jordan/Dev/Havoc/client/Source/Havoc/Packager.cpp:310:68: note: ‘std::__cxx11::basic_string<char>’ is not derived from ‘std::basic_string_view<_CharT, _Traits>’
310 | if ( ListenerInfo.Protocol == listener[ "Name" ] )
| ^
/usr/include/c++/13.1.1/bits/basic_string.h:3711:5: note: candidate: ‘template<class _CharT, class _Traits, class _Alloc> constexpr bool std::operator==(const __cxx11::basic_string<_CharT, _Traits, _Allocator>&, const __cxx11::basic_string<_CharT, _Traits, _Allocator>&)’
3711 | operator==(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
| ^~~~~~~~
/usr/include/c++/13.1.1/bits/basic_string.h:3711:5: note: template argument deduction/substitution failed:
/home/jordan/Dev/Havoc/client/Source/Havoc/Packager.cpp:310:68: note: ‘const nlohmann::json_abi_v3_11_2::basic_json<>::value_type’ {aka ‘const nlohmann::json_abi_v3_11_2::basic_json<>’} is not derived from ‘const std::__cxx11::basic_string<_CharT, _Traits, _Allocator>’
310 | if ( ListenerInfo.Protocol == listener[ "Name" ] )
| ^
/usr/include/c++/13.1.1/bits/streambuf_iterator.h:234:5: note: candidate: ‘template<class _CharT, class _Traits> bool std::operator==(const istreambuf_iterator<_CharT, _Traits>&, const istreambuf_iterator<_CharT, _Traits>&)’
234 | operator==(const istreambuf_iterator<_CharT, _Traits>& __a,
| ^~~~~~~~
/usr/include/c++/13.1.1/bits/streambuf_iterator.h:234:5: note: template argument deduction/substitution failed:
/home/jordan/Dev/Havoc/client/Source/Havoc/Packager.cpp:310:68: note: ‘std::string’ {aka ‘std::__cxx11::basic_string<char>’} is not derived from ‘const std::istreambuf_iterator<_CharT, _Traits>’
310 | if ( ListenerInfo.Protocol == listener[ "Name" ] )
| ^
In file included from /usr/include/c++/13.1.1/unordered_map:41,
from /usr/include/c++/13.1.1/functional:63:
/usr/include/c++/13.1.1/bits/unordered_map.h:2143:5: note: candidate: ‘template<class _Key1, class _Tp1, class _Hash1, class _Pred1, class _Alloc1> bool std::operator==(const unordered_map<_Key1, _Tp1, _Hash1, _Pred1, _Alloc1>&, const unordered_map<_Key1, _Tp1, _Hash1, _Pred1, _Alloc1>&)’
2143 | operator==(const unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>& __x,
| ^~~~~~~~
/usr/include/c++/13.1.1/bits/unordered_map.h:2143:5: note: template argument deduction/substitution failed:
/home/jordan/Dev/Havoc/client/Source/Havoc/Packager.cpp:310:68: note: ‘std::string’ {aka ‘std::__cxx11::basic_string<char>’} is not derived from ‘const std::unordered_map<_Key1, _Tp1, _Hash1, _Pred1, _Alloc1>’
310 | if ( ListenerInfo.Protocol == listener[ "Name" ] )
| ^
/usr/include/c++/13.1.1/bits/unordered_map.h:2157:5: note: candidate: ‘template<class _Key1, class _Tp1, class _Hash1, class _Pred1, class _Alloc1> bool std::operator==(const unordered_multimap<_Key1, _Tp1, _Hash1, _Pred1, _Alloc1>&, const unordered_multimap<_Key1, _Tp1, _Hash1, _Pred1, _Alloc1>&)’
2157 | operator==(const unordered_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>& __x,
| ^~~~~~~~
/usr/include/c++/13.1.1/bits/unordered_map.h:2157:5: note: template argument deduction/substitution failed:
/home/jordan/Dev/Havoc/client/Source/Havoc/Packager.cpp:310:68: note: ‘std::string’ {aka ‘std::__cxx11::basic_string<char>’} is not derived from ‘const std::unordered_multimap<_Key1, _Tp1, _Hash1, _Pred1, _Alloc1>’
310 | if ( ListenerInfo.Protocol == listener[ "Name" ] )
| ^
In file included from /usr/include/c++/13.1.1/vector:66,
from /usr/include/c++/13.1.1/functional:64:
/usr/include/c++/13.1.1/bits/stl_vector.h:2037:5: note: candidate: ‘template<class _Tp, class _Alloc> constexpr bool std::operator==(const vector<_Tp, _Alloc>&, const vector<_Tp, _Alloc>&)’
2037 | operator==(const vector<_Tp, _Alloc>& __x, const vector<_Tp, _Alloc>& __y)
| ^~~~~~~~
/usr/include/c++/13.1.1/bits/stl_vector.h:2037:5: note: template argument deduction/substitution failed:
/home/jordan/Dev/Havoc/client/Source/Havoc/Packager.cpp:310:68: note: ‘std::string’ {aka ‘std::__cxx11::basic_string<char>’} is not derived from ‘const std::vector<_Tp, _Alloc>’
310 | if ( ListenerInfo.Protocol == listener[ "Name" ] )
| ^
In file included from /usr/include/c++/13.1.1/functional:65:
/usr/include/c++/13.1.1/array:297:5: note: candidate: ‘template<class _Tp, long unsigned int _Nm> constexpr bool std::operator==(const array<_Tp, _Nm>&, const array<_Tp, _Nm>&)’
297 | operator==(const array<_Tp, _Nm>& __one, const array<_Tp, _Nm>& __two)
| ^~~~~~~~
/usr/include/c++/13.1.1/array:297:5: note: template argument deduction/substitution failed:
/home/jordan/Dev/Havoc/client/Source/Havoc/Packager.cpp:310:68: note: ‘std::string’ {aka ‘std::__cxx11::basic_string<char>’} is not derived from ‘const std::array<_Tp, _Nm>’
310 | if ( ListenerInfo.Protocol == listener[ "Name" ] )
| ^
In file included from /usr/include/c++/13.1.1/list:65,
from /usr/include/qt/QtCore/qlist.h:55:
/usr/include/c++/13.1.1/bits/stl_list.h:2123:5: note: candidate: ‘template<class _Tp, class _Alloc> bool std::operator==(const __cxx11::list<_Tp, _Alloc>&, const __cxx11::list<_Tp, _Alloc>&)’
2123 | operator==(const list<_Tp, _Alloc>& __x, const list<_Tp, _Alloc>& __y)
| ^~~~~~~~
/usr/include/c++/13.1.1/bits/stl_list.h:2123:5: note: template argument deduction/substitution failed:
/home/jordan/Dev/Havoc/client/Source/Havoc/Packager.cpp:310:68: note: ‘std::string’ {aka ‘std::__cxx11::basic_string<char>’} is not derived from ‘const std::__cxx11::list<_Tp, _Alloc>’
310 | if ( ListenerInfo.Protocol == listener[ "Name" ] )
| ^
In file included from /usr/include/c++/13.1.1/map:63,
from /usr/include/qt/QtCore/qmetatype.h:56:
/usr/include/c++/13.1.1/bits/stl_map.h:1513:5: note: candidate: ‘template<class _Key, class _Tp, class _Compare, class _Alloc> bool std::operator==(const map<_Key, _Tp, _Compare, _Allocator>&, const map<_Key, _Tp, _Compare, _Allocator>&)’
1513 | operator==(const map<_Key, _Tp, _Compare, _Alloc>& __x,
| ^~~~~~~~
/usr/include/c++/13.1.1/bits/stl_map.h:1513:5: note: template argument deduction/substitution failed:
/home/jordan/Dev/Havoc/client/Source/Havoc/Packager.cpp:310:68: note: ‘std::string’ {aka ‘std::__cxx11::basic_string<char>’} is not derived from ‘const std::map<_Key, _Tp, _Compare, _Allocator>’
310 | if ( ListenerInfo.Protocol == listener[ "Name" ] )
| ^
In file included from /usr/include/c++/13.1.1/map:64:
/usr/include/c++/13.1.1/bits/stl_multimap.h:1134:5: note: candidate: ‘template<class _Key, class _Tp, class _Compare, class _Alloc> bool std::operator==(const multimap<_Key, _Tp, _Compare, _Allocator>&, const multimap<_Key, _Tp, _Compare, _Allocator>&)’
1134 | operator==(const multimap<_Key, _Tp, _Compare, _Alloc>& __x,
| ^~~~~~~~
/usr/include/c++/13.1.1/bits/stl_multimap.h:1134:5: note: template argument deduction/substitution failed:
/home/jordan/Dev/Havoc/client/Source/Havoc/Packager.cpp:310:68: note: ‘std::string’ {aka ‘std::__cxx11::basic_string<char>’} is not derived from ‘const std::multimap<_Key, _Tp, _Compare, _Allocator>’
310 | if ( ListenerInfo.Protocol == listener[ "Name" ] )
| ^
/usr/include/c++/13.1.1/optional:1222:5: note: candidate: ‘template<class _Tp, class _Up> constexpr std::__optional_eq_t<_Tp, _Up> std::operator==(const optional<_Tp>&, const optional<_Up>&)’
1222 | operator==(const optional<_Tp>& __lhs, const optional<_Up>& __rhs)
| ^~~~~~~~
/usr/include/c++/13.1.1/optional:1222:5: note: template argument deduction/substitution failed:
/home/jordan/Dev/Havoc/client/Source/Havoc/Packager.cpp:310:68: note: ‘std::string’ {aka ‘std::__cxx11::basic_string<char>’} is not derived from ‘const std::optional<_Tp>’
310 | if ( ListenerInfo.Protocol == listener[ "Name" ] )
| ^
/usr/include/c++/13.1.1/optional:1350:5: note: candidate: ‘template<class _Tp, class _Up> constexpr std::__optional_eq_t<_Tp, _Up> std::operator==(const optional<_Tp>&, const _Up&)’
1350 | operator==(const optional<_Tp>& __lhs, const _Up& __rhs)
| ^~~~~~~~
/usr/include/c++/13.1.1/optional:1350:5: note: template argument deduction/substitution failed:
/home/jordan/Dev/Havoc/client/Source/Havoc/Packager.cpp:310:68: note: ‘std::string’ {aka ‘std::__cxx11::basic_string<char>’} is not derived from ‘const std::optional<_Tp>’
310 | if ( ListenerInfo.Protocol == listener[ "Name" ] )
| ^
/usr/include/c++/13.1.1/optional:1356:5: note: candidate: ‘template<class _Tp, class _Up> constexpr std::__optional_eq_t<_Up, _Tp> std::operator==(const _Up&, const optional<_Tp>&)’
1356 | operator==(const _Up& __lhs, const optional<_Tp>& __rhs)
| ^~~~~~~~
/usr/include/c++/13.1.1/optional:1356:5: note: template argument deduction/substitution failed:
/home/jordan/Dev/Havoc/client/Source/Havoc/Packager.cpp:310:68: note: ‘const nlohmann::json_abi_v3_11_2::basic_json<>::value_type’ {aka ‘const nlohmann::json_abi_v3_11_2::basic_json<>’} is not derived from ‘const std::optional<_Tp>’
310 | if ( ListenerInfo.Protocol == listener[ "Name" ] )
| ^
In file included from /usr/include/c++/13.1.1/format:47:
/usr/include/c++/13.1.1/variant:1242:3: note: candidate: ‘template<class ... _Types> constexpr bool std::operator==(const variant<_Types ...>&, const variant<_Types ...>&)’
1242 | _VARIANT_RELATION_FUNCTION_TEMPLATE(==, equal)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/13.1.1/variant:1242:3: note: template argument deduction/substitution failed:
/home/jordan/Dev/Havoc/client/Source/Havoc/Packager.cpp:310:68: note: ‘std::string’ {aka ‘std::__cxx11::basic_string<char>’} is not derived from ‘const std::variant<_Types ...>’
310 | if ( ListenerInfo.Protocol == listener[ "Name" ] )
| ^
In file included from /usr/include/c++/13.1.1/forward_list:42,
from /home/jordan/Dev/Havoc/client/Include/json.hpp:162:
/usr/include/c++/13.1.1/bits/forward_list.tcc:393:5: note: candidate: ‘template<class _Tp, class _Alloc> bool std::operator==(const forward_list<_Tp, _Alloc>&, const forward_list<_Tp, _Alloc>&)’
393 | operator==(const forward_list<_Tp, _Alloc>& __lx,
| ^~~~~~~~
/usr/include/c++/13.1.1/bits/forward_list.tcc:393:5: note: template argument deduction/substitution failed:
/home/jordan/Dev/Havoc/client/Source/Havoc/Packager.cpp:310:68: note: ‘std::string’ {aka ‘std::__cxx11::basic_string<char>’} is not derived from ‘const std::forward_list<_Tp, _Alloc>’
310 | if ( ListenerInfo.Protocol == listener[ "Name" ] )
| ^
In file included from /usr/include/c++/13.1.1/valarray:605,
from /home/jordan/Dev/Havoc/client/Include/json.hpp:170:
/usr/include/c++/13.1.1/bits/valarray_after.h:417:5: note: candidate: ‘template<class _Dom1, class _Dom2> std::_Expr<std::__detail::_BinClos<std::__equal_to, std::_Expr, std::_Expr, _Dom1, _Dom2>, typename std::__fun<std::__equal_to, typename _Dom1::value_type>::result_type> std::operator==(const _Expr<_Dom1, typename _Dom1::value_type>&, const _Expr<_Dom2, typename _Dom2::value_type>&)’
417 | _DEFINE_EXPR_BINARY_OPERATOR(==, struct std::__equal_to)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/13.1.1/bits/valarray_after.h:417:5: note: template argument deduction/substitution failed:
/home/jordan/Dev/Havoc/client/Source/Havoc/Packager.cpp:310:68: note: ‘std::string’ {aka ‘std::__cxx11::basic_string<char>’} is not derived from ‘const std::_Expr<_Dom1, typename _Dom1::value_type>’
310 | if ( ListenerInfo.Protocol == listener[ "Name" ] )
| ^
/usr/include/c++/13.1.1/bits/valarray_after.h:417:5: note: candidate: ‘template<class _Dom> std::_Expr<std::__detail::_BinClos<std::__equal_to, std::_Expr, std::_Constant, _Dom, typename _Dom::value_type>, typename std::__fun<std::__equal_to, typename _Dom1::value_type>::result_type> std::operator==(const _Expr<_Dom1, typename _Dom1::value_type>&, const typename _Dom::value_type&)’
417 | _DEFINE_EXPR_BINARY_OPERATOR(==, struct std::__equal_to)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/13.1.1/bits/valarray_after.h:417:5: note: template argument deduction/substitution failed:
/home/jordan/Dev/Havoc/client/Source/Havoc/Packager.cpp:310:68: note: ‘std::string’ {aka ‘std::__cxx11::basic_string<char>’} is not derived from ‘const std::_Expr<_Dom1, typename _Dom1::value_type>’
310 | if ( ListenerInfo.Protocol == listener[ "Name" ] )
| ^
/usr/include/c++/13.1.1/bits/valarray_after.h:417:5: note: candidate: ‘template<class _Dom> std::_Expr<std::__detail::_BinClos<std::__equal_to, std::_Constant, std::_Expr, typename _Dom::value_type, _Dom>, typename std::__fun<std::__equal_to, typename _Dom1::value_type>::result_type> std::operator==(const typename _Dom::value_type&, const _Expr<_Dom1, typename _Dom1::value_type>&)’
417 | _DEFINE_EXPR_BINARY_OPERATOR(==, struct std::__equal_to)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/13.1.1/bits/valarray_after.h:417:5: note: template argument deduction/substitution failed:
/home/jordan/Dev/Havoc/client/Source/Havoc/Packager.cpp:310:68: note: ‘const nlohmann::json_abi_v3_11_2::basic_json<>::value_type’ {aka ‘const nlohmann::json_abi_v3_11_2::basic_json<>’} is not derived from ‘const std::_Expr<_Dom1, typename _Dom1::value_type>’
310 | if ( ListenerInfo.Protocol == listener[ "Name" ] )
| ^
/usr/include/c++/13.1.1/bits/valarray_after.h:417:5: note: candidate: ‘template<class _Dom> std::_Expr<std::__detail::_BinClos<std::__equal_to, std::_Expr, std::_ValArray, _Dom, typename _Dom::value_type>, typename std::__fun<std::__equal_to, typename _Dom1::value_type>::result_type> std::operator==(const _Expr<_Dom1, typename _Dom1::value_type>&, const valarray<typename _Dom::value_type>&)’
417 | _DEFINE_EXPR_BINARY_OPERATOR(==, struct std::__equal_to)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/13.1.1/bits/valarray_after.h:417:5: note: template argument deduction/substitution failed:
/home/jordan/Dev/Havoc/client/Source/Havoc/Packager.cpp:310:68: note: ‘std::string’ {aka ‘std::__cxx11::basic_string<char>’} is not derived from ‘const std::_Expr<_Dom1, typename _Dom1::value_type>’
310 | if ( ListenerInfo.Protocol == listener[ "Name" ] )
| ^
/usr/include/c++/13.1.1/bits/valarray_after.h:417:5: note: candidate: ‘template<class _Dom> std::_Expr<std::__detail::_BinClos<std::__equal_to, std::_ValArray, std::_Expr, typename _Dom::value_type, _Dom>, typename std::__fun<std::__equal_to, typename _Dom1::value_type>::result_type> std::operator==(const valarray<typename _Dom::value_type>&, const _Expr<_Dom1, typename _Dom1::value_type>&)’
417 | _DEFINE_EXPR_BINARY_OPERATOR(==, struct std::__equal_to)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/13.1.1/bits/valarray_after.h:417:5: note: template argument deduction/substitution failed:
/home/jordan/Dev/Havoc/client/Source/Havoc/Packager.cpp:310:68: note: ‘const nlohmann::json_abi_v3_11_2::basic_json<>::value_type’ {aka ‘const nlohmann::json_abi_v3_11_2::basic_json<>’} is not derived from ‘const std::_Expr<_Dom1, typename _Dom1::value_type>’
310 | if ( ListenerInfo.Protocol == listener[ "Name" ] )
| ^
/usr/include/c++/13.1.1/valarray:1202:1: note: candidate: ‘template<class _Tp> std::_Expr<std::__detail::_BinClos<std::__equal_to, std::_ValArray, std::_ValArray, _Tp, _Tp>, typename std::__fun<std::__equal_to, _Tp>::result_type> std::operator==(const valarray<_Tp>&, const valarray<_Tp>&)’
1202 | _DEFINE_BINARY_OPERATOR(==, __equal_to)
| ^~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/13.1.1/valarray:1202:1: note: template argument deduction/substitution failed:
/home/jordan/Dev/Havoc/client/Source/Havoc/Packager.cpp:310:68: note: ‘std::string’ {aka ‘std::__cxx11::basic_string<char>’} is not derived from ‘const std::valarray<_Tp>’
310 | if ( ListenerInfo.Protocol == listener[ "Name" ] )
| ^
/usr/include/c++/13.1.1/valarray:1202:1: note: candidate: ‘template<class _Tp> std::_Expr<std::__detail::_BinClos<std::__equal_to, std::_ValArray, std::_Constant, _Tp, _Tp>, typename std::__fun<std::__equal_to, _Tp>::result_type> std::operator==(const valarray<_Tp>&, const typename valarray<_Tp>::value_type&)’
1202 | _DEFINE_BINARY_OPERATOR(==, __equal_to)
| ^~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/13.1.1/valarray:1202:1: note: template argument deduction/substitution failed:
/home/jordan/Dev/Havoc/client/Source/Havoc/Packager.cpp:310:68: note: ‘std::string’ {aka ‘std::__cxx11::basic_string<char>’} is not derived from ‘const std::valarray<_Tp>’
310 | if ( ListenerInfo.Protocol == listener[ "Name" ] )
| ^
/usr/include/c++/13.1.1/valarray:1202:1: note: candidate: ‘template<class _Tp> std::_Expr<std::__detail::_BinClos<std::__equal_to, std::_Constant, std::_ValArray, _Tp, _Tp>, typename std::__fun<std::__equal_to, _Tp>::result_type> std::operator==(const typename valarray<_Tp>::value_type&, const valarray<_Tp>&)’
1202 | _DEFINE_BINARY_OPERATOR(==, __equal_to)
| ^~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/13.1.1/valarray:1202:1: note: template argument deduction/substitution failed:
/home/jordan/Dev/Havoc/client/Source/Havoc/Packager.cpp:310:68: note: ‘const nlohmann::json_abi_v3_11_2::basic_json<>::value_type’ {aka ‘const nlohmann::json_abi_v3_11_2::basic_json<>’} is not derived from ‘const std::valarray<_Tp>’
310 | if ( ListenerInfo.Protocol == listener[ "Name" ] )
| ^
/usr/include/qt/QtCore/qchar.h:637:30: note: candidate: ‘constexpr bool operator==(QChar, QChar)’
637 | Q_DECL_CONSTEXPR inline bool operator==(QChar c1, QChar c2) noexcept { return c1.ucs == c2.ucs; }
| ^~~~~~~~
/usr/include/qt/QtCore/qchar.h:637:47: note: no known conversion for argument 1 from ‘std::string’ {aka ‘std::__cxx11::basic_string<char>’} to ‘QChar’
637 | Q_DECL_CONSTEXPR inline bool operator==(QChar c1, QChar c2) noexcept { return c1.ucs == c2.ucs; }
| ~~~~~~^~
/usr/include/qt/QtCore/qbytearray.h:684:13: note: candidate: ‘bool operator==(const QByteArray&, const QByteArray&)’
684 | inline bool operator==(const QByteArray &a1, const QByteArray &a2) noexcept
| ^~~~~~~~
/usr/include/qt/QtCore/qbytearray.h:684:42: note: no known conversion for argument 1 from ‘std::string’ {aka ‘std::__cxx11::basic_string<char>’} to ‘const QByteArray&’
684 | inline bool operator==(const QByteArray &a1, const QByteArray &a2) noexcept
| ~~~~~~~~~~~~~~~~~~^~
/usr/include/qt/QtCore/qbytearray.h:800:13: note: candidate: ‘bool operator==(const QByteArray::FromBase64Result&, const QByteArray::FromBase64Result&)’
800 | inline bool operator==(const QByteArray::FromBase64Result &lhs, const QByteArray::FromBase64Result &rhs) noexcept
| ^~~~~~~~
/usr/include/qt/QtCore/qbytearray.h:800:60: note: no known conversion for argument 1 from ‘std::string’ {aka ‘std::__cxx11::basic_string<char>’} to ‘const QByteArray::FromBase64Result&’
800 | inline bool operator==(const QByteArray::FromBase64Result &lhs, const QByteArray::FromBase64Result &rhs) noexcept
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
/usr/include/qt/QtCore/qstring.h:1374:13: note: candidate: ‘bool operator==(QString::Null, QString::Null)’
1374 | inline bool operator==(QString::Null, QString::Null) { return true; }
| ^~~~~~~~
/usr/include/qt/QtCore/qstring.h:1374:24: note: no known conversion for argument 1 from ‘std::string’ {aka ‘std::__cxx11::basic_string<char>’} to ‘QString::Null’
1374 | inline bool operator==(QString::Null, QString::Null) { return true; }
| ^~~~~~~~~~~~~
/usr/include/qt/QtCore/qstring.h:1386:13: note: candidate: ‘bool operator==(QLatin1String, QLatin1String)’
1386 | inline bool operator==(QLatin1String s1, QLatin1String s2) noexcept
| ^~~~~~~~
/usr/include/qt/QtCore/qstring.h:1386:38: note: no known conversion for argument 1 from ‘std::string’ {aka ‘std::__cxx11::basic_string<char>’} to ‘QLatin1String’
1386 | inline bool operator==(QLatin1String s1, QLatin1String s2) noexcept
| ~~~~~~~~~~~~~~^~
/usr/include/qt/QtCore/qstring.h:1821:20: note: candidate: ‘bool operator==(const QStringRef&, const QStringRef&)’
1821 | Q_CORE_EXPORT bool operator==(const QStringRef &s1, const QStringRef &s2) noexcept;
| ^~~~~~~~
/usr/include/qt/QtCore/qstring.h:1821:49: note: no known conversion for argument 1 from ‘std::string’ {aka ‘std::__cxx11::basic_string<char>’} to ‘const QStringRef&’
1821 | Q_CORE_EXPORT bool operator==(const QStringRef &s1, const QStringRef &s2) noexcept;
| ~~~~~~~~~~~~~~~~~~^~
/usr/include/qt/QtCore/qstring.h:1941:13: note: candidate: ‘bool operator==(QStringView, QStringView)’
1941 | inline bool operator==(QStringView lhs, QStringView rhs) noexcept { return lhs.size() == rhs.size() && QtPrivate::compareStrings(lhs, rhs) == 0; }
| ^~~~~~~~
/usr/include/qt/QtCore/qstring.h:1941:36: note: no known conversion for argument 1 from ‘std::string’ {aka ‘std::__cxx11::basic_string<char>’} to ‘QStringView’
1941 | inline bool operator==(QStringView lhs, QStringView rhs) noexcept { return lhs.size() == rhs.size() && QtPrivate::compareStrings(lhs, rhs) == 0; }
| ~~~~~~~~~~~~^~~
In file included from /usr/include/qt/QtWidgets/qapplication.h:46:
/usr/include/qt/QtCore/qpoint.h:165:30: note: candidate: ‘constexpr bool operator==(const QPoint&, const QPoint&)’
165 | Q_DECL_CONSTEXPR inline bool operator==(const QPoint &p1, const QPoint &p2)
| ^~~~~~~~
/usr/include/qt/QtCore/qpoint.h:165:55: note: no known conversion for argument 1 from ‘std::string’ {aka ‘std::__cxx11::basic_string<char>’} to ‘const QPoint&’
165 | Q_DECL_CONSTEXPR inline bool operator==(const QPoint &p1, const QPoint &p2)
| ~~~~~~~~~~~~~~^~
/usr/include/qt/QtCore/qpoint.h:357:30: note: candidate: ‘constexpr bool operator==(const QPointF&, const QPointF&)’
357 | Q_DECL_CONSTEXPR inline bool operator==(const QPointF &p1, const QPointF &p2)
| ^~~~~~~~
/usr/include/qt/QtCore/qpoint.h:357:56: note: no known conversion for argument 1 from ‘std::string’ {aka ‘std::__cxx11::basic_string<char>’} to ‘const QPointF&’
357 | Q_DECL_CONSTEXPR inline bool operator==(const QPointF &p1, const QPointF &p2)
| ~~~~~~~~~~~~~~~^~
In file included from /usr/include/qt/QtCore/qsize.h:44,
from /usr/include/qt/QtWidgets/qapplication.h:47:
/usr/include/qt/QtCore/qmargins.h:135:30: note: candidate: ‘constexpr bool operator==(const QMargins&, const QMargins&)’
135 | Q_DECL_CONSTEXPR inline bool operator==(const QMargins &m1, const QMargins &m2) noexcept
| ^~~~~~~~
/usr/include/qt/QtCore/qmargins.h:135:57: note: no known conversion for argument 1 from ‘std::string’ {aka ‘std::__cxx11::basic_string<char>’} to ‘const QMargins&’
135 | Q_DECL_CONSTEXPR inline bool operator==(const QMargins &m1, const QMargins &m2) noexcept
| ~~~~~~~~~~~~~~~~^~
/usr/include/qt/QtCore/qmargins.h:372:30: note: candidate: ‘constexpr bool operator==(const QMarginsF&, const QMarginsF&)’
372 | Q_DECL_CONSTEXPR inline bool operator==(const QMarginsF &lhs, const QMarginsF &rhs) noexcept
| ^~~~~~~~
/usr/include/qt/QtCore/qmargins.h:372:58: note: no known conversion for argument 1 from ‘std::string’ {aka ‘std::__cxx11::basic_string<char>’} to ‘const QMarginsF&’
372 | Q_DECL_CONSTEXPR inline bool operator==(const QMarginsF &lhs, const QMarginsF &rhs) noexcept
| ~~~~~~~~~~~~~~~~~^~~
/usr/include/qt/QtCore/qsize.h:175:30: note: candidate: ‘constexpr bool operator==(const QSize&, const QSize&)’
175 | Q_DECL_CONSTEXPR inline bool operator==(const QSize &s1, const QSize &s2) noexcept
| ^~~~~~~~
/usr/include/qt/QtCore/qsize.h:175:54: note: no known conversion for argument 1 from ‘std::string’ {aka ‘std::__cxx11::basic_string<char>’} to ‘const QSize&’
175 | Q_DECL_CONSTEXPR inline bool operator==(const QSize &s1, const QSize &s2) noexcept
| ~~~~~~~~~~~~~^~
/usr/include/qt/QtCore/qsize.h:350:30: note: candidate: ‘constexpr bool operator==(const QSizeF&, const QSizeF&)’
350 | Q_DECL_CONSTEXPR inline bool operator==(const QSizeF &s1, const QSizeF &s2) noexcept
| ^~~~~~~~
/usr/include/qt/QtCore/qsize.h:350:55: note: no known conversion for argument 1 from ‘std::string’ {aka ‘std::__cxx11::basic_string<char>’} to ‘const QSizeF&’
350 | Q_DECL_CONSTEXPR inline bool operator==(const QSizeF &s1, const QSizeF &s2) noexcept
| ~~~~~~~~~~~~~~^~
In file included from /usr/include/qt/QtWidgets/qapplication.h:48:
/usr/include/qt/QtGui/qcursor.h:129:19: note: candidate: ‘bool operator==(const QCursor&, const QCursor&)’
129 | Q_GUI_EXPORT bool operator==(const QCursor &lhs, const QCursor &rhs) noexcept;
| ^~~~~~~~
/usr/include/qt/QtGui/qcursor.h:124:56: note: no known conversion for argument 1 from ‘std::string’ {aka ‘std::__cxx11::basic_string<char>’} to ‘const QCursor&’
124 | friend Q_GUI_EXPORT bool operator==(const QCursor &lhs, const QCursor &rhs) noexcept;
| ~~~~~~~~~~~~~~~^~~
In file included from /usr/include/qt/QtCore/qvariant.h:48:
/usr/include/qt/QtCore/qhash.h:139:16: note: candidate: ‘constexpr bool operator==(const QHashDummyValue&, const QHashDummyValue&)’
139 | constexpr bool operator==(const QHashDummyValue &, const QHashDummyValue &) noexcept
| ^~~~~~~~
/usr/include/qt/QtCore/qhash.h:139:27: note: no known conversion for argument 1 from ‘std::string’ {aka ‘std::__cxx11::basic_string<char>’} to ‘const QHashDummyValue&’
139 | constexpr bool operator==(const QHashDummyValue &, const QHashDummyValue &) noexcept
| ^~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/qt/QtGui/qpaintdevice.h:45,
from /usr/include/qt/QtWidgets/qwidget.h:47:
/usr/include/qt/QtCore/qrect.h:454:30: note: candidate: ‘constexpr bool operator==(const QRect&, const QRect&)’
454 | Q_DECL_CONSTEXPR inline bool operator==(const QRect &r1, const QRect &r2) noexcept
| ^~~~~~~~
/usr/include/qt/QtCore/qrect.h:454:54: note: no known conversion for argument 1 from ‘std::string’ {aka ‘std::__cxx11::basic_string<char>’} to ‘const QRect&’
454 | Q_DECL_CONSTEXPR inline bool operator==(const QRect &r1, const QRect &r2) noexcept
| ~~~~~~~~~~~~~^~
/usr/include/qt/QtCore/qrect.h:860:30: note: candidate: ‘constexpr bool operator==(const QRectF&, const QRectF&)’
860 | Q_DECL_CONSTEXPR inline bool operator==(const QRectF &r1, const QRectF &r2) noexcept
| ^~~~~~~~
/usr/include/qt/QtCore/qrect.h:860:55: note: no known conversion for argument 1 from ‘std::string’ {aka ‘std::__cxx11::basic_string<char>’} to ‘const QRectF&’
860 | Q_DECL_CONSTEXPR inline bool operator==(const QRectF &r1, const QRectF &r2) noexcept
| ~~~~~~~~~~~~~~^~
/usr/include/qt/QtCore/qjsonvalue.h:235:13: note: candidate: ‘bool operator==(const QJsonValueRef&, const QJsonValueRef&)’
235 | inline bool operator==(const QJsonValueRef &lhs, const QJsonValueRef &rhs)
| ^~~~~~~~
/usr/include/qt/QtCore/qjsonvalue.h:235:45: note: no known conversion for argument 1 from ‘std::string’ {aka ‘std::__cxx11::basic_string<char>’} to ‘const QJsonValueRef&’
235 | inline bool operator==(const QJsonValueRef &lhs, const QJsonValueRef &rhs)
| ~~~~~~~~~~~~~~~~~~~~~^~~
In file included from /usr/include/qt/QtGui/qevent.h:56:
/usr/include/qt/QtGui/qvector2d.h:211:30: note: candidate: ‘constexpr bool operator==(const QVector2D&, const QVector2D&)’
211 | Q_DECL_CONSTEXPR inline bool operator==(const QVector2D &v1, const QVector2D &v2)
| ^~~~~~~~
/usr/include/qt/QtGui/qvector2d.h:211:58: note: no known conversion for argument 1 from ‘std::string’ {aka ‘std::__cxx11::basic_string<char>’} to ‘const QVector2D&’
211 | Q_DECL_CONSTEXPR inline bool operator==(const QVector2D &v1, const QVector2D &v2)
| ~~~~~~~~~~~~~~~~~^~
/usr/include/qt/QtGui/qevent.h:876:19: note: candidate: ‘bool operator==(QPointingDeviceUniqueId, QPointingDeviceUniqueId)’
876 | Q_GUI_EXPORT bool operator==(QPointingDeviceUniqueId lhs, QPointingDeviceUniqueId rhs) noexcept;
| ^~~~~~~~
/usr/include/qt/QtGui/qevent.h:876:54: note: no known conversion for argument 1 from ‘std::string’ {aka ‘std::__cxx11::basic_string<char>’} to ‘QPointingDeviceUniqueId’
876 | Q_GUI_EXPORT bool operator==(QPointingDeviceUniqueId lhs, QPointingDeviceUniqueId rhs) noexcept;
| ~~~~~~~~~~~~~~~~~~~~~~~~^~~
/usr/include/c++/13.1.1/system_error:449:3: note: candidate: ‘bool std::operator==(const error_code&, const error_code&)’
449 | operator==(const error_code& __lhs, const error_code& __rhs) noexcept
| ^~~~~~~~
/usr/include/c++/13.1.1/system_error:449:32: note: no known conversion for argument 1 from ‘std::string’ {aka ‘std::__cxx11::basic_string<char>’} to ‘const std::error_code&’
449 | operator==(const error_code& __lhs, const error_code& __rhs) noexcept
| ~~~~~~~~~~~~~~~~~~^~~~~
/usr/include/c++/13.1.1/system_error:480:3: note: candidate: ‘bool std::operator==(const error_condition&, const error_condition&)’
480 | operator==(const error_condition& __lhs,
| ^~~~~~~~
/usr/include/c++/13.1.1/system_error:480:37: note: no known conversion for argument 1 from ‘std::string’ {aka ‘std::__cxx11::basic_string<char>’} to ‘const std::error_condition&’
480 | operator==(const error_condition& __lhs,
| ~~~~~~~~~~~~~~~~~~~~~~~^~~~~
/usr/include/c++/13.1.1/variant:1249:18: note: candidate: ‘constexpr bool std::operator==(monostate, monostate)’
1249 | constexpr bool operator==(monostate, monostate) noexcept { return true; }
| ^~~~~~~~
/usr/include/c++/13.1.1/variant:1249:29: note: no known conversion for argument 1 from ‘std::string’ {aka ‘std::__cxx11::basic_string<char>’} to ‘std::monostate’
1249 | constexpr bool operator==(monostate, monostate) noexcept { return true; }
| ^~~~~~~~~
In file included from /usr/include/c++/13.1.1/stop_token:37,
from /usr/include/c++/13.1.1/condition_variable:49,
from /usr/include/spdlog/details/periodic_worker.h:13,
from /usr/include/spdlog/details/registry.h:12,
from /usr/include/spdlog/spdlog.h:13,
from /home/jordan/Dev/Havoc/client/Include/global.hpp:34:
/usr/include/c++/13.1.1/bits/std_thread.h:324:3: note: candidate: ‘bool std::operator==(thread::id, thread::id)’
324 | operator==(thread::id __x, thread::id __y) noexcept
| ^~~~~~~~
/usr/include/c++/13.1.1/bits/std_thread.h:324:25: note: no known conversion for argument 1 from ‘std::string’ {aka ‘std::__cxx11::basic_string<char>’} to ‘std::thread::id’
324 | operator==(thread::id __x, thread::id __y) noexcept
| ~~~~~~~~~~~^~~
/usr/include/c++/13.1.1/bits/allocator.h:216:7: note: candidate: ‘constexpr bool std::operator==(const allocator<unsigned char>&, const allocator<unsigned char>&)’
216 | operator==(const allocator&, const allocator&) _GLIBCXX_NOTHROW
| ^~~~~~~~
/usr/include/c++/13.1.1/bits/allocator.h:216:18: note: no known conversion for argument 1 from ‘std::string’ {aka ‘std::__cxx11::basic_string<char>’} to ‘const std::allocator<unsigned char>&’
216 | operator==(const allocator&, const allocator&) _GLIBCXX_NOTHROW
| ^~~~~~~~~~~~~~~~
/usr/include/c++/13.1.1/bits/allocator.h:216:7: note: candidate: ‘constexpr bool std::operator==(const allocator<char>&, const allocator<char>&)’
216 | operator==(const allocator&, const allocator&) _GLIBCXX_NOTHROW
| ^~~~~~~~
/usr/include/c++/13.1.1/bits/allocator.h:216:18: note: no known conversion for argument 1 from ‘std::string’ {aka ‘std::__cxx11::basic_string<char>’} to ‘const std::allocator<char>&’
216 | operator==(const allocator&, const allocator&) _GLIBCXX_NOTHROW
| ^~~~~~~~~~~~~~~~
[ 15%] Building CXX object CMakeFiles/Havoc.dir/Source/Havoc/Service.cpp.o
[ 17%] Building CXX object CMakeFiles/Havoc.dir/Source/Havoc/DBManger/DBManager.cpp.o
make[3]: *** [CMakeFiles/Havoc.dir/build.make:148: CMakeFiles/Havoc.dir/Source/Havoc/Packager.cpp.o] Error 1
make[3]: *** Waiting for unfinished jobs....
In file included from /home/jordan/Dev/Havoc/client/Include/Havoc/DBManager/DBManager.hpp:4,
from /home/jordan/Dev/Havoc/client/Source/Havoc/DBManger/DBManager.cpp:1:
/home/jordan/Dev/Havoc/client/Include/global.hpp:241:54: warning: declaration of ‘FileBrowser* HavocNamespace::Util::<unnamed struct>::FileBrowser’ changes meaning of ‘FileBrowser’ [-Wchanges-meaning]
241 | FileBrowser* FileBrowser;
| ^~~~~~~~~~~
/home/jordan/Dev/Havoc/client/Include/global.hpp:241:13: note: used here to mean ‘class FileBrowser’
241 | FileBrowser* FileBrowser;
| ^~~~~~~~~~~
In file included from /home/jordan/Dev/Havoc/client/Include/global.hpp:39:
/home/jordan/Dev/Havoc/client/Include/UserInterface/Widgets/FileBrowser.hpp:53:7: note: declared here
53 | class FileBrowser : public QWidget
| ^~~~~~~~~~~
make[2]: *** [CMakeFiles/Makefile2:84: CMakeFiles/Havoc.dir/all] Error 2
make[1]: *** [Makefile:91: all] Error 2
make[1]: Leaving directory '/home/jordan/Dev/Havoc/client/Build'
make: *** [makefile:34: client-build] Error 2
I don't know much about C++ and make but it might be due to:
Some C++ Standard Library headers have been changed to no longer include other headers that were being used internally by the library. As such, C++ programs that used standard library components without including the right headers will no longer compile.
The following headers are used less widely in libstdc++ and may need to be included explicitly when compiling with GCC 13:
<string> (for std::string, std::to_string, std::stoi etc.)
<system_error> (for std::error_code, std::error_category, std::system_error).
<cstdint> (for std::int8_t, std::int32_t etc.)
<cstdio> (for std::printf, std::fopen etc.)
<cstdlib> (for std::strtol, std::malloc etc.)
Fixed by #330
Contact Details
No response
What happened?
After upgrading gcc and gcc-libs from 12.2.1 to 13.1.1 (Manjaro/Arch),
make client-build
is failing.After downgrading both packages, it builds fine.
This seems relevant: https://gcc.gnu.org/gcc-13/porting_to.html
Did You Do a Pull First?
Latest (You performed a pull first)
Did You Try With the Dev Branch?
Yes (You tried using the dev branch but the problem persist)
Relevant log output
If needed, I can upgrade and provide the logs.
Did You Read Over Your Issue First?