machinekit / QtQuickVcp

A Virtual Control Panel for Machinekit written in Qt/C++/QML
Other
128 stars 74 forks source link

Unable to build master with gcc-8.2.0 #279

Closed l29ah closed 5 years ago

l29ah commented 5 years ago
machinetalkservice.cpp: In function ‘int qtquickvcp::MachinetalkService::recurseMessage(const google::protobuf::Message&, QObject*, const QString&, const QString&)’:
machinetalkservice.cpp:118:10: error: ‘vector’ is not a member of ‘gpb’
     gpb::vector< const gpb::FieldDescriptor * > output;
          ^~~~~~
machinetalkservice.cpp:118:10: note: suggested alternative:
In file included from /usr/lib/gcc/x86_64-pc-linux-gnu/8.2.0/include/g++-v8/vector:64,
                 from /usr/include/qt5/QtCore/qmetatype.h:53,
                 from /usr/include/qt5/QtCore/qobject.h:54,
                 from /usr/include/qt5/QtCore/QObject:1,
                 from machinetalkservice.h:4,
                 from machinetalkservice.cpp:1:
/usr/lib/gcc/x86_64-pc-linux-gnu/8.2.0/include/g++-v8/bits/stl_vector.h:339:11: note:   ‘std::vector’
     class vector : protected _Vector_base<_Tp, _Alloc>
           ^~~~~~
machinetalkservice.cpp:118:18: error: expected primary-expression before ‘const’
     gpb::vector< const gpb::FieldDescriptor * > output;
                  ^~~~~
machinetalkservice.cpp:119:38: error: ‘output’ was not declared in this scope
     reflection->ListFields(message, &output);
                                      ^~~~~~
machinetalkservice.cpp:119:38: note: suggested alternative: ‘getpt’
     reflection->ListFields(message, &output);
                                      ^~~~~~
                                      getpt
machinetalkservice.cpp:133:45: error: unable to deduce ‘auto&&’ from ‘output’
     for (const gpb::FieldDescriptor *field: output)
                                             ^~~~~~
machinetalkservice.cpp: In function ‘void qtquickvcp::MachinetalkService::updateSimpleRepeatedField(QObject*, const google::protobuf::Message&, const google::protobuf::FieldDescriptor*)’:
machinetalkservice.cpp:193:14: error: ‘vector’ is not a member of ‘gpb’
         gpb::vector< const gpb::FieldDescriptor * > output;
              ^~~~~~
machinetalkservice.cpp:193:14: note: suggested alternative:
In file included from /usr/lib/gcc/x86_64-pc-linux-gnu/8.2.0/include/g++-v8/vector:64,
                 from /usr/include/qt5/QtCore/qmetatype.h:53,
                 from /usr/include/qt5/QtCore/qobject.h:54,
                 from /usr/include/qt5/QtCore/QObject:1,
                 from machinetalkservice.h:4,
                 from machinetalkservice.cpp:1:
/usr/lib/gcc/x86_64-pc-linux-gnu/8.2.0/include/g++-v8/bits/stl_vector.h:339:11: note:   ‘std::vector’
     class vector : protected _Vector_base<_Tp, _Alloc>
           ^~~~~~
machinetalkservice.cpp:193:22: error: expected primary-expression before ‘const’
         gpb::vector< const gpb::FieldDescriptor * > output;
                      ^~~~~
machinetalkservice.cpp:194:48: error: ‘output’ was not declared in this scope
         subReflection->ListFields(subMessage, &output);
                                                ^~~~~~
machinetalkservice.cpp:194:48: note: suggested alternative: ‘getpt’
         subReflection->ListFields(subMessage, &output);
                                                ^~~~~~
                                                getpt
machinetalkservice.cpp:197:39: error: unable to deduce ‘auto&&’ from ‘output’
             for (const auto subField: output) {
                                       ^~~~~~
l29ah commented 5 years ago

At the second thought it seems like it doesn't like the new protobuf.