Миграция с Qt 4.8 до Qt 5.12 Msvc 2017 - PullRequest
0 голосов
/ 06 июня 2019

Я делаю переход с Qt 4.8 на 5.12.3.Я использую Visual Studio 2017 и получаю странную ошибку компилятора, которая происходит в Qt src - точно в ../qt/5.12.3/msvc2017/include/QtCore/qjsonarray.h.

см. Скриншот ниже

Вот компиляторвывод для дополнительной информации:

09:40:12: Running steps for project UnisetApplication...
09:40:12: Configuration unchanged, skipping qmake step.
09:40:12: Starting: "C:\Development\Qt5\Tools\QtCreator\bin\jom.ex e" 
( if not exist Makefile.Uniset C:\Development\Qt5\5.12.3\msvc2017\bin\qmake.exe -o Makefile.Uniset C:\Development\SVN\Qt_5_12\Uniset.pro -spec win32-msvc "CONFIG+=debug" "CONFIG+=qml_debug" ) && C:\Development\Qt5\Tools\QtCreator\bin\jom.exe -f Makefile.Uniset
C:\Development\Qt5\Tools\QtCreator\bin\jom.exe -f Makefile.Uniset.Debug
c:\development\qt5\5.12.3\msvc2017\include\qtcore\ qjsonarray.h(134): error C3646: "pointer": Unbekannter šberschreibungsspezifizierer
c:\development\qt5\5.12.3\msvc2017\include\qtcore\ qjsonarray.h(134): error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht untersttzt.
c:\development\qt5\5.12.3\msvc2017\include\qtcore\ qjsonarray.h(179): error C3646: "pointer": Unbekannter šberschreibungsspezifizierer
c:\development\qt5\5.12.3\msvc2017\include\qtcore\ qjsonarray.h(179): error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht untersttzt.
c:\development\qt5\5.12.3\msvc2017\include\qtcore\ qjsonarray.h(143): error C2440: "<function-style-cast>": "initializer list" kann nicht in "QJsonArray::iterator::QJsonValueRefPtr" konvertiert werden
c:\development\qt5\5.12.3\msvc2017\include\qtcore\ qjsonarray.h(143): note: Der Initialisierer enth„lt zu viele Elemente.
c:\development\qt5\5.12.3\msvc2017\include\qtcore\ qjsonarray.h(192): error C2440: "<function-style-cast>": "QJsonValue" kann nicht in "QJsonArray::const_iterator::QJsonValuePtr" konvertiert werden
c:\development\qt5\5.12.3\msvc2017\include\qtcore\ qjsonarray.h(192): note: Kein benutzerdefinierter Konvertierungsoperator verfgbar, der diese Konvertierung durchfhren kann, oder der Operator kann nicht aufgerufen werden
jom: C:\Development\SVN\Qt_5_12\Makefile.Uniset.Debug [debug\MeasureFunction.obj] Error 2
c:\development\qt5\5.12.3\msvc2017\include\qtcore\ qjsonarray.h(134): error C3646: "pointer": Unbekannter šberschreibungsspezifizierer
c:\development\qt5\5.12.3\msvc2017\include\qtcore\ qjsonarray.h(134): error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht untersttzt.
c:\development\qt5\5.12.3\msvc2017\include\qtcore\ qjsonarray.h(179): error C3646: "pointer": Unbekannter šberschreibungsspezifizierer
c:\development\qt5\5.12.3\msvc2017\include\qtcore\ qjsonarray.h(179): error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht untersttzt.
c:\development\qt5\5.12.3\msvc2017\include\qtcore\ qjsonarray.h(143): error C2440: "<function-style-cast>": "initializer list" kann nicht in "QJsonArray::iterator::QJsonValueRefPtr" konvertiert werden
c:\development\qt5\5.12.3\msvc2017\include\qtcore\ qjsonarray.h(143): note: Der Initialisierer enth„lt zu viele Elemente.
c:\development\qt5\5.12.3\msvc2017\include\qtcore\ qjsonarray.h(192): error C2440: "<function-style-cast>": "QJsonValue" kann nicht in "QJsonArray::const_iterator::QJsonValuePtr" konvertiert werden
c:\development\qt5\5.12.3\msvc2017\include\qtcore\ qjsonarray.h(192): note: Kein benutzerdefinierter Konvertierungsoperator verfgbar, der diese Konvertierung durchfhren kann, oder der Operator kann nicht aufgerufen werden

c:\development\qt5\5.12.3\msvc2017\include\qtcore\ qjsonarray.h(134): error C3646: "pointer": Unbekannter šberschreibungsspezifizierer
c:\development\qt5\5.12.3\msvc2017\include\qtcore\ qjsonarray.h(134): error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht untersttzt.
c:\development\qt5\5.12.3\msvc2017\include\qtcore\ qjsonarray.h(179): error C3646: "pointer": Unbekannter šberschreibungsspezifizierer
c:\development\qt5\5.12.3\msvc2017\include\qtcore\ qjsonarray.h(179): error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht untersttzt.
c:\development\qt5\5.12.3\msvc2017\include\qtcore\ qjsonarray.h(143): error C2440: "<function-style-cast>": "initializer list" kann nicht in "QJsonArray::iterator::QJsonValueRefPtr" konvertiert werden
c:\development\qt5\5.12.3\msvc2017\include\qtcore\ qjsonarray.h(143): note: Der Initialisierer enth„lt zu viele Elemente.
c:\development\qt5\5.12.3\msvc2017\include\qtcore\ qjsonarray.h(192): error C2440: "<function-style-cast>": "QJsonValue" kann nicht in "QJsonArray::const_iterator::QJsonValuePtr" konvertiert werden
c:\development\qt5\5.12.3\msvc2017\include\qtcore\ qjsonarray.h(192): note: Kein benutzerdefinierter Konvertierungsoperator verfgbar, der diese Konvertierung durchfhren kann, oder der Operator kann nicht aufgerufen werden
Gui\MeasureWidgetForm\scmmeasure.cpp(83): warning C4150: L”schen eines Zeigers auf den nicht definierten Typ "Ui::SCMMeasure". Destruktor wurde nicht aufgerufen.
c:\development\svn\qt_5_12\gui\measurewidgetform\s cmmeasure.h(20): note: Siehe Deklaration von "Ui::SCMMeasure"
jom: C:\Development\SVN\Qt_5_12\Makefile.Uniset.Debug [debug\MeasureFunctionWidget.obj] Error 2
jom: C:\Development\SVN\Qt_5_12\Makefile.Uniset.Debug [debug\NoMotionAdapter.obj] Error 2
jom: C:\Development\SVN\Qt_5_12\Makefile.Uniset.Debug [debug\scmmeasure.obj] Error 2
jom: C:\Development\SVN\Qt_5_12\Makefile.Uniset.Debug [debug\OpticMeasureFunction_CONTOUR_FIT.obj] Error 2
Vision\ImageProcessing.cpp(800): error C2664: "void ImageProcessing::setActiveRoi(QRect &)" : Konvertierung von Argument 1 von "QRect" in "QRect &" nicht m”glich
Vision\ImageProcessing.cpp(800): note: Ein nicht konstanter Verweis kann nur an einen L-Wert gebunden werden.
Vision\ImageProcessing.cpp(1181): error C2664: "void ImageProcessing::setActiveRoi(QRect &)" : Konvertierung von Argument 1 von "QRect" in "QRect &" nicht m”glich
Vision\ImageProcessing.cpp(1181): note: Ein nicht konstanter Verweis kann nur an einen L-Wert gebunden werden.
jom: C:\Development\SVN\Qt_5_12\Makefile.Uniset.Debug [debug\ImageProcessing.obj] Error 2
jom: C:\Development\SVN\Qt_5_12\Makefile.Uniset.Debug [debug\topcamerawidget.obj] Error 2
jom: C:\Development\SVN\Qt_5_12\Makefile.Uniset.Debug [debug\measurewidgetform.obj] Error 2
jom: C:\Development\SVN\Qt_5_12\Makefile.Uniset [debug] Error 2
jom: C:\Development\SVN\Qt_5_12\Makefile [sub-Uniset-pro-make_first-ordered] Error 2
09:40:37: The process "C:\Development\Qt5\Tools\QtCreator\bin\jom.ex e" exited with code 2.
Error while building/deploying project UnisetApplication (kit: Desktop Qt 5.12.3 MSVC2017 32bit)
When executing step "Make"
09:40:37: Elapsed time: 00:25.
...