Сборка QT 4.8.5 с помощью Mingw64

#c #qt #mingw #mingw-w64

#c #qt #mingw #mingw-w64

Вопрос:

Я пытаюсь собрать Qt4.8.5 с помощью mingw64 (8.1.0) в Windows 7. Он успешно создает несколько библиотек, но выдает ошибку при сборке xmlpatterns. Я не уверен, о чем говорит ошибка, может кто-нибудь сказать мне, как исправить эту ошибку?

Я настроил qt с помощью

 configure -prefix "C:Qtqt_4.8.5_mingw64" -nomake examples -nomake demos -nomake tools 
  

Затем запустил make, используя,

 mingw32-make install
  

После запуска в течение 30 минут он выдал мне следующую ошибку,

 C:/Qt/4.8.5/src/corelib/tools/qvector.h:503:25: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of non-trivially copyable type 'QVector
<QXmlNodeModelIndex>::Data' {aka 'struct QVectorTypedData<QXmlNodeModelIndex>'};
 use copy-assignment or copy-initialization instead [-Wclass-memaccess]
             ::memcpy(x.p, p, sizeOfTypedData()   (qMin(aalloc, d->alloc) -1) * sizeof(T));
 ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from ../../include/QtCore/qvector.h:1,
             from C:/Qt/4.8.5/src/corelib/io/qdebug.h:52,
             from ../../include/QtCore/qdebug.h:1,
             from ../../include/QtCore/QtDebug:1,
             from data/qanyuri_p.h:56,
             from api/qvariableloader.cpp:45:

C:/Qt/4.8.5/src/corelib/tools/qvector.h:94:8: note: 'QVector<QXmlNodeModelIndex>
::Data' {aka 'struct QVectorTypedData<QXmlNodeModelIndex>'} declared here
  struct QVectorTypedData : private QVectorData
    ^~~~~~~~~~~~~~~~
mingw32-make[2]: *** [Makefile.Debug:2640: tmp/obj/debug_shared/qvariableloader.o] Error 1
mingw32-make[2]: Leaving directory 'C:/Qt/4.8.5/src/xmlpatterns'
mingw32-make[1]: *** [Makefile:46: debug-install] Error 2
mingw32-make[1]: Leaving directory 'C:/Qt/4.8.5/src/xmlpatterns'
mingw32-make: *** [Makefile:662: sub-xmlpatterns-install_subtargets-ordered] Error 2

C:Qt4.8.5>
  

Комментарии:

1. Хотя ваш компилятор может быть слишком новым, вы можете попробовать Qt-4.8.7. download.qt.io/archive/qt/4.8/4.8.7

2. Я не уверен, но вы можете выбрать более старый стандарт c , чем используемый по умолчанию.

3. @drescherjm Я постараюсь. Можете ли вы сказать мне, о чем говорит ошибка? Я не получаю ошибку?

4. В опубликованных вами выходных данных компиляции нет ошибки, только предупреждение.

5. Да, но вы не включили ошибку в свой вывод. Это не обязательно должно быть последним в выходных данных. Предупреждение не связано.