Maproom / qmapshack

Consumer grade GIS software
GNU General Public License v3.0
286 stars 64 forks source link

kiozen/porting_qt6 branch: compiler errors on Windows #685

Open wthaem opened 2 weeks ago

wthaem commented 2 weeks ago

Describe the bug

Compiling QMS Qt6 version using branch kiozen/porting_qt6 on Windows with MSVC 2022 results in a few (Windows-related?) errors

What have you done to circle down the problem?

Nothing due to insufficient knowledge

To Reproduce

Try to compile QMS for Qt6 with MSVC2022

Expected behavior

Compiler should run without errors

Screenshots

None

Attachments

None

Tracebacks

Most errors have the following form:

  CMainWindow.cpp
D:\QtProjects\QMS\QMS4Qt6\src\qmapshack\CMainWindow.h(129,21): error C3254: "CMainWindow": Die Klasse enthält die expli
zite Überschreibung "nativeEvent", wird jedoch von keiner Schnittstelle abgeleitet, die die Funktionsdeklaration enthäl
t [D:\QtProjects\QMS\QMS4Qt6\build\src\qmapshack\qmapshack.vcxproj]
D:\QtProjects\QMS\QMS4Qt6\src\qmapshack\CMainWindow.h(129,21): error C3241: "bool CMainWindow::nativeEvent(const QByteA
rray &,void *,long *)": Diese Methode wurde nicht von "QWidget" eingeführt [D:\QtProjects\QMS\QMS4Qt6\build\src\qmapsha
ck\qmapshack.vcxproj]

There is another block of errors related to the Windows kit (Is there some version requirement? Is my Windows/MSVC installation broken?):

  CItemTreeWidget.cpp
C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\um\dbt.h(213,17): error C3646: "dbch_size": Unbekannter Übe
rschreibungsspezifizierer [D:\QtProjects\QMS\QMS4Qt6\build\src\qmapshack\qmapshack.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\um\dbt.h(214,17): error C3646: "dbch_devicetype": Unbekannt
er Überschreibungsspezifizierer [D:\QtProjects\QMS\QMS4Qt6\build\src\qmapshack\qmapshack.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\um\dbt.h(215,17): error C3646: "dbch_reserved": Unbekannter
 Überschreibungsspezifizierer [D:\QtProjects\QMS\QMS4Qt6\build\src\qmapshack\qmapshack.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\um\dbt.h(219,48): error C2143: Syntaxfehler: Es fehlt ";" v
or "*" [D:\QtProjects\QMS\QMS4Qt6\build\src\qmapshack\qmapshack.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\um\dbt.h(229,17): error C3646: "vlb_owner": Unbekannter Übe
rschreibungsspezifizierer [D:\QtProjects\QMS\QMS4Qt6\build\src\qmapshack\qmapshack.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\um\dbt.h(230,17): error C3646: "vlb_perms": Unbekannter Übe
rschreibungsspezifizierer [D:\QtProjects\QMS\QMS4Qt6\build\src\qmapshack\qmapshack.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\um\dbt.h(231,17): error C3646: "vlb_lockType": Unbekannter
Überschreibungsspezifizierer [D:\QtProjects\QMS\QMS4Qt6\build\src\qmapshack\qmapshack.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\um\dbt.h(232,17): error C3646: "vlb_drive": Unbekannter Übe
rschreibungsspezifizierer [D:\QtProjects\QMS\QMS4Qt6\build\src\qmapshack\qmapshack.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\um\dbt.h(233,17): error C3646: "vlb_flags": Unbekannter Übe
rschreibungsspezifizierer [D:\QtProjects\QMS\QMS4Qt6\build\src\qmapshack\qmapshack.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\um\dbt.h(310,17): error C3646: "dbcd_size": Unbekannter Übe
rschreibungsspezifizierer [D:\QtProjects\QMS\QMS4Qt6\build\src\qmapshack\qmapshack.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\um\dbt.h(311,17): error C3646: "dbcd_devicetype": Unbekannt
er Überschreibungsspezifizierer [D:\QtProjects\QMS\QMS4Qt6\build\src\qmapshack\qmapshack.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\um\dbt.h(312,17): error C3646: "dbcd_reserved": Unbekannter
 Überschreibungsspezifizierer [D:\QtProjects\QMS\QMS4Qt6\build\src\qmapshack\qmapshack.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\um\dbt.h(316,17): error C3646: "dbco_size": Unbekannter Übe
rschreibungsspezifizierer [D:\QtProjects\QMS\QMS4Qt6\build\src\qmapshack\qmapshack.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\um\dbt.h(317,17): error C3646: "dbco_devicetype": Unbekannt
er Überschreibungsspezifizierer [D:\QtProjects\QMS\QMS4Qt6\build\src\qmapshack\qmapshack.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\um\dbt.h(318,17): error C3646: "dbco_reserved": Unbekannter
 Überschreibungsspezifizierer [D:\QtProjects\QMS\QMS4Qt6\build\src\qmapshack\qmapshack.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\um\dbt.h(319,17): error C3646: "dbco_identifier": Unbekannt
er Überschreibungsspezifizierer [D:\QtProjects\QMS\QMS4Qt6\build\src\qmapshack\qmapshack.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\um\dbt.h(320,17): error C3646: "dbco_suppfunc": Unbekannter
 Überschreibungsspezifizierer [D:\QtProjects\QMS\QMS4Qt6\build\src\qmapshack\qmapshack.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\um\dbt.h(324,48): error C2143: Syntaxfehler: Es fehlt ";" v
or "*" [D:\QtProjects\QMS\QMS4Qt6\build\src\qmapshack\qmapshack.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\um\dbt.h(324,41): error C2371: "far": Neudefinition; unters
chiedliche Basistypen [D:\QtProjects\QMS\QMS4Qt6\build\src\qmapshack\qmapshack.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\um\dbt.h(327,17): error C3646: "dbcd_size": Unbekannter Übe
rschreibungsspezifizierer [D:\QtProjects\QMS\QMS4Qt6\build\src\qmapshack\qmapshack.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\um\dbt.h(328,17): error C3646: "dbcd_devicetype": Unbekannt
er Überschreibungsspezifizierer [D:\QtProjects\QMS\QMS4Qt6\build\src\qmapshack\qmapshack.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\um\dbt.h(329,17): error C3646: "dbcd_reserved": Unbekannter
 Überschreibungsspezifizierer [D:\QtProjects\QMS\QMS4Qt6\build\src\qmapshack\qmapshack.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\um\dbt.h(330,17): error C3646: "dbcd_devnode": Unbekannter
Überschreibungsspezifizierer [D:\QtProjects\QMS\QMS4Qt6\build\src\qmapshack\qmapshack.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\um\dbt.h(334,48): error C2143: Syntaxfehler: Es fehlt ";" v
or "*" [D:\QtProjects\QMS\QMS4Qt6\build\src\qmapshack\qmapshack.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\um\dbt.h(334,41): error C2371: "far": Neudefinition; unters
chiedliche Basistypen [D:\QtProjects\QMS\QMS4Qt6\build\src\qmapshack\qmapshack.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\um\dbt.h(337,17): error C3646: "dbcv_size": Unbekannter Übe
rschreibungsspezifizierer [D:\QtProjects\QMS\QMS4Qt6\build\src\qmapshack\qmapshack.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\um\dbt.h(338,17): error C3646: "dbcv_devicetype": Unbekannt
er Überschreibungsspezifizierer [D:\QtProjects\QMS\QMS4Qt6\build\src\qmapshack\qmapshack.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\um\dbt.h(339,17): error C3646: "dbcv_reserved": Unbekannter
 Überschreibungsspezifizierer [D:\QtProjects\QMS\QMS4Qt6\build\src\qmapshack\qmapshack.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\um\dbt.h(340,17): error C3646: "dbcv_unitmask": Unbekannter
 Überschreibungsspezifizierer [D:\QtProjects\QMS\QMS4Qt6\build\src\qmapshack\qmapshack.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\um\dbt.h(341,17): error C3646: "dbcv_flags": Unbekannter Üb
erschreibungsspezifizierer [D:\QtProjects\QMS\QMS4Qt6\build\src\qmapshack\qmapshack.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\um\dbt.h(345,48): error C2143: Syntaxfehler: Es fehlt ";" v
or "*" [D:\QtProjects\QMS\QMS4Qt6\build\src\qmapshack\qmapshack.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\um\dbt.h(345,41): error C2371: "far": Neudefinition; unters
chiedliche Basistypen [D:\QtProjects\QMS\QMS4Qt6\build\src\qmapshack\qmapshack.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\um\dbt.h(351,17): error C3646: "dbcp_size": Unbekannter Übe
rschreibungsspezifizierer [D:\QtProjects\QMS\QMS4Qt6\build\src\qmapshack\qmapshack.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\um\dbt.h(352,17): error C3646: "dbcp_devicetype": Unbekannt
er Überschreibungsspezifizierer [D:\QtProjects\QMS\QMS4Qt6\build\src\qmapshack\qmapshack.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\um\dbt.h(353,17): error C3646: "dbcp_reserved": Unbekannter
 Überschreibungsspezifizierer [D:\QtProjects\QMS\QMS4Qt6\build\src\qmapshack\qmapshack.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\um\dbt.h(358,17): error C3646: "dbcp_size": Unbekannter Übe
rschreibungsspezifizierer [D:\QtProjects\QMS\QMS4Qt6\build\src\qmapshack\qmapshack.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\um\dbt.h(359,17): error C3646: "dbcp_devicetype": Unbekannt
er Überschreibungsspezifizierer [D:\QtProjects\QMS\QMS4Qt6\build\src\qmapshack\qmapshack.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\um\dbt.h(360,17): error C3646: "dbcp_reserved": Unbekannter
 Überschreibungsspezifizierer [D:\QtProjects\QMS\QMS4Qt6\build\src\qmapshack\qmapshack.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\um\dbt.h(362,32): error C2143: Syntaxfehler: Es fehlt ";" v
or "*" [D:\QtProjects\QMS\QMS4Qt6\build\src\qmapshack\qmapshack.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\um\dbt.h(362,25): error C2371: "far": Neudefinition; unters
chiedliche Basistypen [D:\QtProjects\QMS\QMS4Qt6\build\src\qmapshack\qmapshack.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\um\dbt.h(366,9): error C2378: "PDEV_BROADCAST_PORT_W": Neud
efinition; Symbol kann nicht mit typedef überladen werden [D:\QtProjects\QMS\QMS4Qt6\build\src\qmapshack\qmapshack.vcxp
roj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\um\dbt.h(366,34): error C2146: Syntaxfehler: Fehlendes ";"
vor Bezeichner "PDEV_BROADCAST_PORT" [D:\QtProjects\QMS\QMS4Qt6\build\src\qmapshack\qmapshack.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\um\dbt.h(373,17): error C3646: "dbcn_size": Unbekannter Übe
rschreibungsspezifizierer [D:\QtProjects\QMS\QMS4Qt6\build\src\qmapshack\qmapshack.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\um\dbt.h(374,17): error C3646: "dbcn_devicetype": Unbekannt
er Überschreibungsspezifizierer [D:\QtProjects\QMS\QMS4Qt6\build\src\qmapshack\qmapshack.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\um\dbt.h(375,17): error C3646: "dbcn_reserved": Unbekannter
 Überschreibungsspezifizierer [D:\QtProjects\QMS\QMS4Qt6\build\src\qmapshack\qmapshack.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\um\dbt.h(376,17): error C3646: "dbcn_resource": Unbekannter
 Überschreibungsspezifizierer [D:\QtProjects\QMS\QMS4Qt6\build\src\qmapshack\qmapshack.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\um\dbt.h(377,17): error C3646: "dbcn_flags": Unbekannter Üb
erschreibungsspezifizierer [D:\QtProjects\QMS\QMS4Qt6\build\src\qmapshack\qmapshack.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\um\dbt.h(381,48): error C2143: Syntaxfehler: Es fehlt ";" v
or "*" [D:\QtProjects\QMS\QMS4Qt6\build\src\qmapshack\qmapshack.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\um\dbt.h(381,41): error C2371: "far": Neudefinition; unters
chiedliche Basistypen [D:\QtProjects\QMS\QMS4Qt6\build\src\qmapshack\qmapshack.vcxproj]

and yet another one:

D:\QtProjects\QMS\QMS4Qt6\src\qmapshack\CMainWindow.cpp(1475,29): error C2440: "<function-style-cast>": "int" kann nich
t in "QString" konvertiert werden [D:\QtProjects\QMS\QMS4Qt6\build\src\qmapshack\qmapshack.vcxproj]
D:\QtProjects\QMS\QMS4Qt6\src\qmapshack\CMainWindow.cpp(1491,24): error C2146: Syntaxfehler: Fehlendes ";" vor Bezeichn
er "pHdr" [D:\QtProjects\QMS\QMS4Qt6\build\src\qmapshack\qmapshack.vcxproj]
D:\QtProjects\QMS\QMS4Qt6\src\qmapshack\CMainWindow.cpp(1491,24): error C2065: "pHdr": nichtdeklarierter Bezeichner [D:
\QtProjects\QMS\QMS4Qt6\build\src\qmapshack\qmapshack.vcxproj]
D:\QtProjects\QMS\QMS4Qt6\src\qmapshack\CMainWindow.cpp(1491,51): error C2146: Syntaxfehler: Fehlendes ";" vor Bezeichn
er "msg" [D:\QtProjects\QMS\QMS4Qt6\build\src\qmapshack\qmapshack.vcxproj]
D:\QtProjects\QMS\QMS4Qt6\src\qmapshack\CMainWindow.cpp(1494,44): error C2065: "pHdr": nichtdeklarierter Bezeichner [D:
\QtProjects\QMS\QMS4Qt6\build\src\qmapshack\qmapshack.vcxproj]
D:\QtProjects\QMS\QMS4Qt6\src\qmapshack\CMainWindow.cpp(1495,13): error C2065: "pHdr": nichtdeklarierter Bezeichner [D:
\QtProjects\QMS\QMS4Qt6\build\src\qmapshack\qmapshack.vcxproj]
D:\QtProjects\QMS\QMS4Qt6\src\qmapshack\CMainWindow.cpp(1496,33): error C2146: Syntaxfehler: Fehlendes ";" vor Bezeichn
er "pHdrv" [D:\QtProjects\QMS\QMS4Qt6\build\src\qmapshack\qmapshack.vcxproj]
D:\QtProjects\QMS\QMS4Qt6\src\qmapshack\CMainWindow.cpp(1496,33): error C2065: "pHdrv": nichtdeklarierter Bezeichner [D
:\QtProjects\QMS\QMS4Qt6\build\src\qmapshack\qmapshack.vcxproj]
D:\QtProjects\QMS\QMS4Qt6\src\qmapshack\CMainWindow.cpp(1496,64): error C2146: Syntaxfehler: Fehlendes ";" vor Bezeichn
er "pHdr" [D:\QtProjects\QMS\QMS4Qt6\build\src\qmapshack\qmapshack.vcxproj]
D:\QtProjects\QMS\QMS4Qt6\src\qmapshack\CMainWindow.cpp(1496,64): error C2065: "pHdr": nichtdeklarierter Bezeichner [D:
\QtProjects\QMS\QMS4Qt6\build\src\qmapshack\qmapshack.vcxproj]
D:\QtProjects\QMS\QMS4Qt6\src\qmapshack\CMainWindow.cpp(1497,27): error C2065: "pHdrv": nichtdeklarierter Bezeichner [D
:\QtProjects\QMS\QMS4Qt6\build\src\qmapshack\qmapshack.vcxproj]
D:\QtProjects\QMS\QMS4Qt6\src\qmapshack\CMainWindow.cpp(1503,51): error C2065: "pHdr": nichtdeklarierter Bezeichner [D:
\QtProjects\QMS\QMS4Qt6\build\src\qmapshack\qmapshack.vcxproj]
D:\QtProjects\QMS\QMS4Qt6\src\qmapshack\CMainWindow.cpp(1504,13): error C2065: "pHdr": nichtdeklarierter Bezeichner [D:
\QtProjects\QMS\QMS4Qt6\build\src\qmapshack\qmapshack.vcxproj]
D:\QtProjects\QMS\QMS4Qt6\src\qmapshack\CMainWindow.cpp(1505,33): error C2146: Syntaxfehler: Fehlendes ";" vor Bezeichn
er "pHdrv" [D:\QtProjects\QMS\QMS4Qt6\build\src\qmapshack\qmapshack.vcxproj]
D:\QtProjects\QMS\QMS4Qt6\src\qmapshack\CMainWindow.cpp(1505,33): error C2065: "pHdrv": nichtdeklarierter Bezeichner [D
:\QtProjects\QMS\QMS4Qt6\build\src\qmapshack\qmapshack.vcxproj]
D:\QtProjects\QMS\QMS4Qt6\src\qmapshack\CMainWindow.cpp(1505,64): error C2146: Syntaxfehler: Fehlendes ";" vor Bezeichn
er "pHdr" [D:\QtProjects\QMS\QMS4Qt6\build\src\qmapshack\qmapshack.vcxproj]
D:\QtProjects\QMS\QMS4Qt6\src\qmapshack\CMainWindow.cpp(1505,64): error C2065: "pHdr": nichtdeklarierter Bezeichner [D:
\QtProjects\QMS\QMS4Qt6\build\src\qmapshack\qmapshack.vcxproj]
D:\QtProjects\QMS\QMS4Qt6\src\qmapshack\CMainWindow.cpp(1506,27): error C2065: "pHdrv": nichtdeklarierter Bezeichner [D
:\QtProjects\QMS\QMS4Qt6\build\src\qmapshack\qmapshack.vcxproj]
D:\QtProjects\QMS\QMS4Qt6\src\qmapshack\CMainWindow.cpp(1517,19): error C2664: "bool QWidget::nativeEvent(const QByteAr
ray &,void *,qintptr *)" : Konvertierung von Argument 3 von "long *" in "qintptr *" nicht möglich [D:\QtProjects\QMS\QM
S4Qt6\build\src\qmapshack\qmapshack.vcxproj]

Desktop

Additional context

kiozen commented 1 week ago

Help system: Qt6 Assistant is part of the Qt development package. I doubt that we are allowed to package and install the binary for the development distribution.

The first tow blocks of error messages I have no clue.

in the last one PDEV_BROADCAST_HDR does not seem to be defined. This should be part of some Microsoft header.

In line 1475 you probably have to wrap the i with a QChar(i).

Ah,... and there is also a hint for the first block of errors. long* seems to be a qintptr now (declaration of nativeEvent )

wthaem commented 1 week ago

Help system: Qt6 Assistant is part of the Qt development package. I doubt that we are allowed to package and install the binary for the development distribution.

@kiozen: Good to have somebody looking after and understanding license rules! In this case your help browser needs some code update as you expected.