Details
-
Bug
-
Resolution: Fixed
-
P0: Blocker
-
6.9
-
None
-
-
7fbda83d6 (dev), 49f63b3f8 (dev), 67767da88 (6.9)
Description
Build of qtopcua with the latest moc changes in qtbase fails with:
~~~/moc_qopcuanodeids.cpp(40): fatal error C1067: compiler limit: 64K limit on size of a type record has been exceeded
This is a debug build with VS2022, cl version 19.41.34123. The issue would probably not happen in a release build.
The type in question is https://doc.qt.io/qt-6/qopcua-nodeids.html#Namespace0-enum, which is massive and probably generated from a spec.
But if we do that kind of thing, then it’s probably a safe bet that clients will also generate meta-object relevant types from some spec or some other APIs (such as a COM type library).
At the very least, this will break the submodule update once the qtbase changes reach qtopcua.
Attachments
For Gerrit Dashboard: QTBUG-131516 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
606509,2 | Disable the namespace 0 NodeId Q_NAMESPACE support with MSVC | dev | qt/qtopcua | Status: MERGED | +2 | -1 |
624315,22 | Add manually generated QMetaObject for QOpcUa::NodeIds (MSVC) | dev | qt/qtopcua | Status: MERGED | +2 | +1 |
626357,2 | Add manually generated QMetaObject for QOpcUa::NodeIds (MSVC) | 6.9 | qt/qtopcua | Status: MERGED | +2 | 0 |