-
Notifications
You must be signed in to change notification settings - Fork 14
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Qt 5.8 - Qt 5.9 compilation fail #19
Comments
On 5.8.1 it can be solved by #if (QT_VERSION <= QT_VERSION_CHECK(5, 8, 0))
#include <QtQml/private/qqmlcontextwrapper_p.h>
#elif (QT_VERSION >= QT_VERSION_CHECK(5, 8, 1))
#include <QtQml/private/qv4qmlcontext_p.h>
#endif and replace #if (QT_VERSION >= QT_VERSION_CHECK(5, 8, 1))
static ReturnedValue qmlScope(ExecutionEngine *v4, QQmlContextData *ctxt, QObject *scope)
{
Scope valueScope(v4);
Scoped<QmlContextWrapper> w(valueScope, v4->memoryManager->allocObject<QmlContextWrapper>(ctxt, scope));
return w.asReturnedValue();
}
#endif
ReturnedValue packCallbackObject(ExecutionEngine* v4, const Value& callback) {
Scope scope(v4);
ScopedObject o(scope, v4->newObject());
#if (QT_VERSION <= QT_VERSION_CHECK(5, 8, 0))
ScopedValue ctx(scope, QmlContextWrapper::qmlScope(scope.engine, callingQmlContext(v4), 0));
#elif (QT_VERSION >= QT_VERSION_CHECK(5, 8, 1))
ScopedValue ctx(scope, qmlScope(scope.engine, callingQmlContext(v4), 0));
#endif
o->put(ScopedString(scope, v4->newString(QStringLiteral("CallingContext"))),
ctx);
ScopedFunctionObject cb(scope, callback);
o->put(ScopedString(scope, v4->newString(QStringLiteral("CallbackObject"))),
cb);
return o->asReturnedValue();
} but i can`t find solution for 5.9.1 for now |
Similar trouble with Qt 5.10.1 gman@thinkpad:~/Downloads/protobuf-qml-master$ ninja -C out/Release
ninja: Entering directory `out/Release'
[42/155] Automatic moc for target protobuf-qml
Generating moc_protobuf_plugin.cpp
[43/155] Automatic moc for target TestConvert
Generating test_convert.moc
[44/155] Automatic moc for target protobuf-qml-core
Generating moc_buffer.cpp
Generating moc_descriptors.cpp
Generating moc_file.cpp
Generating moc_memory.cpp
Generating moc_method.cpp
Generating moc_server_method.cpp
Generating moc_descriptor.cpp
[46/155] Automatic moc for target grpc-qml
Generating moc_base.cpp
Generating moc_credentials.cpp
Generating moc_grpc_plugin.cpp
Generating moc_reader.cpp
Generating moc_reader_writer.cpp
Generating moc_server.cpp
Generating moc_server_bidi.cpp
Generating moc_server_credentials.cpp
Generating moc_server_reader.cpp
Generating moc_server_unary.cpp
Generating moc_server_writer.cpp
Generating moc_unary.cpp
Generating moc_writer.cpp
[55/155] Building CXX object lib/protobuf/CMakeFiles/protobuf-qml-core.dir/qml/v4/v4util.cpp.o
FAILED: lib/protobuf/CMakeFiles/protobuf-qml-core.dir/qml/v4/v4util.cpp.o
/usr/bin/c++ -DPROTOBUF_QML_EXPORT -DQT_CORE_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_NO_DEBUG -DQT_QML_LIB -DQT_QUICK_LIB -Dprotobuf_qml_core_EXPORTS -Ilib/protobuf -I../../lib/protobuf -I../../compiler -isystem /home/gman/Qt/5.10.1/gcc_64/include/QtQml/5.10.1 -isystem /home/gman/Qt/5.10.1/gcc_64/include/QtQml/5.10.1/QtQml -isystem /home/gman/Qt/5.10.1/gcc_64/include/QtNetwork/5.10.1 -isystem /home/gman/Qt/5.10.1/gcc_64/include/QtNetwork/5.10.1/QtNetwork -isystem /home/gman/Qt/5.10.1/gcc_64/include/QtCore/5.10.1 -isystem /home/gman/Qt/5.10.1/gcc_64/include/QtCore/5.10.1/QtCore -isystem ../../build/deps/Release/include -I../../lib -isystem /home/gman/Qt/5.10.1/gcc_64/include -isystem /home/gman/Qt/5.10.1/gcc_64/include/QtQuick -isystem /home/gman/Qt/5.10.1/gcc_64/include/QtQml -isystem /home/gman/Qt/5.10.1/gcc_64/include/QtNetwork -isystem /home/gman/Qt/5.10.1/gcc_64/include/QtCore -isystem /home/gman/Qt/5.10.1/gcc_64/./mkspecs/linux-g++ -isystem /home/gman/Qt/5.10.1/gcc_64/include/QtGui -Wno-inconsistent-missing-override -fdiagnostics-color -Wall -Wextra -Wno-unused-parameter -O3 -DNDEBUG -fPIC -fPIC -std=gnu++11 -MMD -MT lib/protobuf/CMakeFiles/protobuf-qml-core.dir/qml/v4/v4util.cpp.o -MF lib/protobuf/CMakeFiles/protobuf-qml-core.dir/qml/v4/v4util.cpp.o.d -o lib/protobuf/CMakeFiles/protobuf-qml-core.dir/qml/v4/v4util.cpp.o -c ../../lib/protobuf/qml/v4/v4util.cpp
../../lib/protobuf/qml/v4/v4util.cpp:3:42: fatal error: private/qqmlcontextwrapper_p.h: No such file or directory
compilation terminated.
[58/155] Building CXX object lib/protobuf/CMakeFiles/protobuf-qml-core.dir/qml/v4/descriptor.cpp.o
FAILED: lib/protobuf/CMakeFiles/protobuf-qml-core.dir/qml/v4/descriptor.cpp.o
/usr/bin/c++ -DPROTOBUF_QML_EXPORT -DQT_CORE_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_NO_DEBUG -DQT_QML_LIB -DQT_QUICK_LIB -Dprotobuf_qml_core_EXPORTS -Ilib/protobuf -I../../lib/protobuf -I../../compiler -isystem /home/gman/Qt/5.10.1/gcc_64/include/QtQml/5.10.1 -isystem /home/gman/Qt/5.10.1/gcc_64/include/QtQml/5.10.1/QtQml -isystem /home/gman/Qt/5.10.1/gcc_64/include/QtNetwork/5.10.1 -isystem /home/gman/Qt/5.10.1/gcc_64/include/QtNetwork/5.10.1/QtNetwork -isystem /home/gman/Qt/5.10.1/gcc_64/include/QtCore/5.10.1 -isystem /home/gman/Qt/5.10.1/gcc_64/include/QtCore/5.10.1/QtCore -isystem ../../build/deps/Release/include -I../../lib -isystem /home/gman/Qt/5.10.1/gcc_64/include -isystem /home/gman/Qt/5.10.1/gcc_64/include/QtQuick -isystem /home/gman/Qt/5.10.1/gcc_64/include/QtQml -isystem /home/gman/Qt/5.10.1/gcc_64/include/QtNetwork -isystem /home/gman/Qt/5.10.1/gcc_64/include/QtCore -isystem /home/gman/Qt/5.10.1/gcc_64/./mkspecs/linux-g++ -isystem /home/gman/Qt/5.10.1/gcc_64/include/QtGui -Wno-inconsistent-missing-override -fdiagnostics-color -Wall -Wextra -Wno-unused-parameter -O3 -DNDEBUG -fPIC -fPIC -std=gnu++11 -MMD -MT lib/protobuf/CMakeFiles/protobuf-qml-core.dir/qml/v4/descriptor.cpp.o -MF lib/protobuf/CMakeFiles/protobuf-qml-core.dir/qml/v4/descriptor.cpp.o.d -o lib/protobuf/CMakeFiles/protobuf-qml-core.dir/qml/v4/descriptor.cpp.o -c ../../lib/protobuf/qml/v4/descriptor.cpp
../../lib/protobuf/qml/v4/descriptor.cpp: In member function 'void protobuf::qml::SerializeTask::onDone(const QByteArray&)':
../../lib/protobuf/qml/v4/descriptor.cpp:744:17: error: no matching function for call to 'QV4::Object::call(QV4::ScopedCallData&)'
cb->call(cdata);
^
In file included from /home/gman/Qt/5.10.1/gcc_64/include/QtQml/5.10.1/QtQml/private/qv4arraybuffer_p.h:53:0,
from ../../lib/protobuf/qml/v4/v4util.h:5,
from ../../lib/protobuf/qml/v4/descriptor.cpp:2:
/home/gman/Qt/5.10.1/gcc_64/include/QtQml/5.10.1/QtQml/private/qv4object_p.h:444:17: note: candidate: void QV4::Object::call(QV4::Scope&, QV4::CallData*) const
inline void call(Scope &scope, CallData *d) const
^
/home/gman/Qt/5.10.1/gcc_64/include/QtQml/5.10.1/QtQml/private/qv4object_p.h:444:17: note: candidate expects 2 arguments, 1 provided
/home/gman/Qt/5.10.1/gcc_64/include/QtQml/5.10.1/QtQml/private/qv4object_p.h:448:17: note: candidate: static void QV4::Object::call(const QV4::Managed*, QV4::Scope&, QV4::CallData*)
static void call(const Managed *m, Scope &scope, CallData *);
^
/home/gman/Qt/5.10.1/gcc_64/include/QtQml/5.10.1/QtQml/private/qv4object_p.h:448:17: note: candidate expects 3 arguments, 1 provided
../../lib/protobuf/qml/v4/descriptor.cpp: In member function 'void protobuf::qml::ParseTask::onDone()':
../../lib/protobuf/qml/v4/descriptor.cpp:779:17: error: no matching function for call to 'QV4::Object::call(QV4::ScopedCallData&)'
cb->call(cdata);
^
In file included from /home/gman/Qt/5.10.1/gcc_64/include/QtQml/5.10.1/QtQml/private/qv4arraybuffer_p.h:53:0,
from ../../lib/protobuf/qml/v4/v4util.h:5,
from ../../lib/protobuf/qml/v4/descriptor.cpp:2:
/home/gman/Qt/5.10.1/gcc_64/include/QtQml/5.10.1/QtQml/private/qv4object_p.h:444:17: note: candidate: void QV4::Object::call(QV4::Scope&, QV4::CallData*) const
inline void call(Scope &scope, CallData *d) const
^
/home/gman/Qt/5.10.1/gcc_64/include/QtQml/5.10.1/QtQml/private/qv4object_p.h:444:17: note: candidate expects 2 arguments, 1 provided
/home/gman/Qt/5.10.1/gcc_64/include/QtQml/5.10.1/QtQml/private/qv4object_p.h:448:17: note: candidate: static void QV4::Object::call(const QV4::Managed*, QV4::Scope&, QV4::CallData*)
static void call(const Managed *m, Scope &scope, CallData *);
^
/home/gman/Qt/5.10.1/gcc_64/include/QtQml/5.10.1/QtQml/private/qv4object_p.h:448:17: note: candidate expects 3 arguments, 1 provided
At global scope:
cc1plus: warning: unrecognized command line option '-Wno-inconsistent-missing-override'
[60/155] Building CXX object lib/protobuf/CMakeFiles/protobuf-qml-core.dir/qml/server_method.cpp.o
ninja: build stopped: subcommand failed.
gman@thinkpad:~/Downloads/protobuf-qml-master$
` |
@djahma Because there a lot of changes in Qt internals since 5.7 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Could not compile with Qt 5.9.
I found commit in QtQML #qt/qtdeclarative@8a63837 which deprecates
QQmlContextWrapper
So, they changed corresponding API in Qt 5.8...
The text was updated successfully, but these errors were encountered: