Kompilacja Qt 5.1.1 z MinGW 4.8.1 rev 5
-
Witam.
Chciałem skompilować sobie bibliotekę Qt 5.1.1 z najnowszą wersją MinGW 64 - posix i seh rev. 5 -> "Link":http://sourceforge.net/projects/mingwbuilds/files/host-windows/releases/4.8.1/64-bit/threads-posix/seh/ . W zasadzie błąd dotyczy nie tylko SEH, ale i SJLJ także.Okazuje się, że już na etapie konfiguracji, gdy są kompilowane podstawowe narzędzia - qmake, wywala błąd o konfliktu deklaracji:
bq. C:\Tut\QtSrc\qtbase/src/corelib/io/qfilesystemengine_win.cpp:578:3: error: conflicting declaration 'typedef struct _FILE_ID_128 FILE_ID_128' } FILE_ID_128, *PFILE_ID_128;
In file included from c:\develop\mingw\x64\x86_64-w64-mingw32\include\minwindef.h:146:0,
from c:\develop\mingw\x64\x86_64-w64-mingw32\include\windef.h:8,
from c:\develop\mingw\x64\x86_64-w64-mingw32\include\windows.h:69,
from C:\Tut\QtSrc\qtbase\include/QtCore/../../src/corelib/global/qt_windows.h:71,
from C:\Tut\QtSrc\qtbase\include/QtCore/qt_windows.h:1,
from C:\Tut\QtSrc\qtbase\mkspecs\win32-g++/qplatformdefs.h:63,
from C:\Tut\QtSrc\qtbase/src/corelib/io/qfilesystemmetadata_p.h:56,
from C:\Tut\QtSrc\qtbase/src/corelib/io/qfilesystemengine_p.h:58,
from C:\Tut\QtSrc\qtbase/src/corelib/io/qfilesystemengine_win.cpp:42:Bądź nie posiada w swojej deklaracji Identifier:
bq. C:\Tut\QtSrc\qtbase/src/corelib/io/qfilesystemengine_win.cpp:617:89: error: 'FILE_ID_128' has no member named 'Identifier'
result += QByteArray((char *)infoEx.FileId.Identifier, sizeof(infoEx.FileId.Identifier)).toHex();Jest to trochę dziwne, bo w starszej wersji GCC której posiadam - rev. 3 konfiguracja przebiega pomyślnie i nie wiem, czy problem dotyczy GCC, Qt, czy może u mnie coś ...
Próbowałem też kompilować na czystym systemie W 7 x32 - użyłem najnowszej rewizji GCC w wersji 32 bitowej i problem jest taki sam.
Tak wyglądają parametry konfiguracji:
bq. configure -prefix c:\Develop\Qt5\x32\ -opensource -opengl desktop -platform win32-g++ -no-icu -no-angle -no-openssl -make tools -confirm-license -c++11 -debug-and-release -nomake examples -nomake tests -no-compile-examples -qt-style-fusion
Ktoś ma jakiś pomysł ?
Pozdrawiam.