semlanik / qtprotobuf

Protobuf generator and bindings for Qt framework
https://semlanik.github.io/qtprotobuf
MIT License
167 stars 38 forks source link

Build fail with Qt 5.15.2 at linux #258

Open dmitry-aka-jok opened 2 years ago

dmitry-aka-jok commented 2 years ago
In file included from /home/joker/Qt/5.15.2/gcc_64/include/QtQml/qqml.h:43,
                 from /home/joker/Qt/5.15.2/gcc_64/include/QtQml/qqmlengine.h:47,
                 from /home/joker/Qt/5.15.2/gcc_64/include/QtQml/QQmlEngine:1,
                 from /home/joker/Git/qtprotobuf/src/protobuf/qqmllistpropertyconstructor.h:29,
                 from /home/joker/Git/qtprotobuf/build/include/Protobuf/QQmlListPropertyConstructor:1,
                 from /home/joker/Git/qtprotobuf/build/src/wellknowntypes/generated/google/protobuf/empty.qpb.h:16,
                 from /home/joker/Git/qtprotobuf/build/src/wellknowntypes/generated/google/protobuf/empty.qpb.cpp:3:
/home/joker/Qt/5.15.2/gcc_64/include/QtQml/qqmlprivate.h: В функции «void QQmlPrivate::createInto(void*) [with T = google::protobuf::Empty]»:
/home/joker/Qt/5.15.2/gcc_64/include/QtQml/qqmlprivate.h:166:37: ошибка: «static void QQmlPrivate::QQmlElement<T>::operator delete(void*, void*) [with T = google::protobuf::Empty]» called on pointer returned from a mismatched allocation function [-Werror=mismatched-new-delete]
  166 |     void createInto(void *memory) { new (memory) QQmlElement<T>; }
      |                                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/joker/Qt/5.15.2/gcc_64/include/QtQml/qqmlprivate.h:166:37: замечание: returned from «void* operator new(std::size_t, void*)»
In file included from /home/joker/Qt/5.15.2/gcc_64/include/QtQml/qqml.h:43,
                 from /home/joker/Qt/5.15.2/gcc_64/include/QtQml/qqmlengine.h:47,
                 from /home/joker/Qt/5.15.2/gcc_64/include/QtQml/QQmlEngine:1,
                 from /home/joker/Git/qtprotobuf/src/protobuf/qqmllistpropertyconstructor.h:29,
                 from /home/joker/Git/qtprotobuf/build/include/Protobuf/QQmlListPropertyConstructor:1,
                 from /home/joker/Git/qtprotobuf/build/src/wellknowntypes/generated/google/protobuf/source_context.qpb.h:16,
                 from /home/joker/Git/qtprotobuf/build/src/wellknowntypes/generated/google/protobuf/source_context.qpb.cpp:3:
/home/joker/Qt/5.15.2/gcc_64/include/QtQml/qqmlprivate.h: В функции «void QQmlPrivate::createInto(void*) [with T = google::protobuf::SourceContext]»:
/home/joker/Qt/5.15.2/gcc_64/include/QtQml/qqmlprivate.h:166:37: ошибка: «static void QQmlPrivate::QQmlElement<T>::operator delete(void*, void*) [with T = google::protobuf::SourceContext]» called on pointer returned from a mismatched allocation function [-Werror=mismatched-new-delete]
  166 |     void createInto(void *memory) { new (memory) QQmlElement<T>; }
      |                                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/joker/Qt/5.15.2/gcc_64/include/QtQml/qqmlprivate.h:166:37: замечание: returned from «void* operator new(std::size_t, void*)»
In file included from /home/joker/Qt/5.15.2/gcc_64/include/QtQml/qqml.h:43,
                 from /home/joker/Qt/5.15.2/gcc_64/include/QtQml/qqmlengine.h:47,
                 from /home/joker/Qt/5.15.2/gcc_64/include/QtQml/QQmlEngine:1,
                 from /home/joker/Git/qtprotobuf/src/protobuf/qqmllistpropertyconstructor.h:29,
                 from /home/joker/Git/qtprotobuf/build/include/Protobuf/QQmlListPropertyConstructor:1,
                 from /home/joker/Git/qtprotobuf/build/src/wellknowntypes/generated/google/protobuf/any.qpb.h:16,
                 from /home/joker/Git/qtprotobuf/build/src/wellknowntypes/generated/google/protobuf/any.qpb.cpp:3:
/home/joker/Qt/5.15.2/gcc_64/include/QtQml/qqmlprivate.h: В функции «void QQmlPrivate::createInto(void*) [with T = google::protobuf::Any]»:
/home/joker/Qt/5.15.2/gcc_64/include/QtQml/qqmlprivate.h:166:37: ошибка: «static void QQmlPrivate::QQmlElement<T>::operator delete(void*, void*) [with T = google::protobuf::Any]» called on pointer returned from a mismatched allocation function [-Werror=mismatched-new-delete]
  166 |     void createInto(void *memory) { new (memory) QQmlElement<T>; }
      |                                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/joker/Qt/5.15.2/gcc_64/include/QtQml/qqmlprivate.h:166:37: замечание: returned from «void* operator new(std::size_t, void*)»
In file included from /home/joker/Qt/5.15.2/gcc_64/include/QtQml/qqml.h:43,
                 from /home/joker/Qt/5.15.2/gcc_64/include/QtQml/qqmlengine.h:47,
                 from /home/joker/Qt/5.15.2/gcc_64/include/QtQml/QQmlEngine:1,
                 from /home/joker/Git/qtprotobuf/src/protobuf/qqmllistpropertyconstructor.h:29,
                 from /home/joker/Git/qtprotobuf/build/include/Protobuf/QQmlListPropertyConstructor:1,
                 from /home/joker/Git/qtprotobuf/build/src/wellknowntypes/generated/google/protobuf/duration.qpb.h:16,
                 from /home/joker/Git/qtprotobuf/build/src/wellknowntypes/generated/google/protobuf/duration.qpb.cpp:3:
/home/joker/Qt/5.15.2/gcc_64/include/QtQml/qqmlprivate.h: В функции «void QQmlPrivate::createInto(void*) [with T = google::protobuf::Duration]»:
/home/joker/Qt/5.15.2/gcc_64/include/QtQml/qqmlprivate.h:166:37: ошибка: «static void QQmlPrivate::QQmlElement<T>::operator delete(void*, void*) [with T = google::protobuf::Duration]» called on pointer returned from a mismatched allocation function [-Werror=mismatched-new-delete]
  166 |     void createInto(void *memory) { new (memory) QQmlElement<T>; }
      |                                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/joker/Qt/5.15.2/gcc_64/include/QtQml/qqmlprivate.h:166:37: замечание: returned from «void* operator new(std::size_t, void*)»
cc1plus: все предупреждения считаются ошибками
make[2]: *** [src/wellknowntypes/CMakeFiles/empty.dir/build.make:102: src/wellknowntypes/CMakeFiles/empty.dir/generated/google/protobuf/empty.qpb.cpp.o] Ошибка 1
make[1]: *** [CMakeFiles/Makefile2:4931: src/wellknowntypes/CMakeFiles/empty.dir/all] Ошибка 2
make[1]: *** Ожидание завершения заданий…
[ 92%] Building CXX object src/wellknowntypes/CMakeFiles/duration.dir/generated/google/protobuf/moc_duration.qpb.cpp.o
cc1plus: все предупреждения считаются ошибками
make[2]: *** [src/wellknowntypes/CMakeFiles/source_context.dir/build.make:102: src/wellknowntypes/CMakeFiles/source_context.dir/generated/google/protobuf/source_context.qpb.cpp.o] Ошибка 1
make[1]: *** [CMakeFiles/Makefile2:5043: src/wellknowntypes/CMakeFiles/source_context.dir/all] Ошибка 2
[ 92%] Building CXX object src/wellknowntypes/CMakeFiles/any.dir/generated/google/protobuf/moc_any.qpb.cpp.o
cc1plus: все предупреждения считаются ошибками
cc1plus: все предупреждения считаются ошибками
make[2]: *** [src/wellknowntypes/CMakeFiles/duration.dir/build.make:102: src/wellknowntypes/CMakeFiles/duration.dir/generated/google/protobuf/duration.qpb.cpp.o] Ошибка 1
make[2]: *** Ожидание завершения заданий…
make[2]: *** [src/wellknowntypes/CMakeFiles/any.dir/build.make:102: src/wellknowntypes/CMakeFiles/any.dir/generated/google/protobuf/any.qpb.cpp.o] Ошибка 1
make[2]: *** Ожидание завершения заданий…
make[1]: *** [CMakeFiles/Makefile2:4875: src/wellknowntypes/CMakeFiles/duration.dir/all] Ошибка 2
make[1]: *** [CMakeFiles/Makefile2:4819: src/wellknowntypes/CMakeFiles/any.dir/all] Ошибка 2
make: *** [Makefile:156: all] Ошибка 2

To Reproduce Build by "All-in-one build" cmake .. -DCMAKE_PREFIX_PATH=/home/joker/Qt/5.15.2/gcc_64/lib/cmake -DQT_PROTOBUF_MAKE_TESTS=false -DQT_PROTOBUF_MAKE_EXAMPLES=false -DBUILD_SHARED_LIBS=true

Environment:

semlanik commented 2 years ago

I tested the build using 5.15.2 with built-in and external protobuf locally and it works. What version of protobuf, grpc and QtProtobuf you use?