Details
-
Bug
-
Resolution: Done
-
P1: Critical
-
5.4.0 Alpha
-
None
-
Windows, MSVC
-
a4aea7b578dd5ed6544ad8dbe488bb14817785b6 (5.4, 7.10.2014, 5.4 RC?)
Description
The attached example compiled against 5.3 no longer runs in 5.4 producing:
--------------------------- qtbug41810.exe - Entry Point Not Found --------------------------- The procedure entry point ?convert@QVariant@@QEBA_NHPEAX@Z could not be located in the dynamic link library d:\dev\projects\qtbug41810_53\debug\qtbug41810.exe.
Relevant commits: "Update MSVC compiler features according to testing" 7ab6f24ac1f0b5877356f4781827bc8f65bbcdcf (qtbase/dev, 21.6.2014) https://codereview.qt-project.org/#/c/88026/3
enabled template friends for MSVC and thus changed the visibility of qvariant funcs due to:
#ifndef Q_NO_TEMPLATE_FRIENDS template<typename T> friend inline T qvariant_cast(const QVariant &); template<typename T> friend struct QtPrivate::QVariantValueHelper; protected: #else public: #endif Private d; void create(int type, const void *copy); bool cmp(const QVariant &other) const; int compare(const QVariant &other) const; bool convert(const int t, void *ptr) const;
Attachments
Issue Links
- is required for
-
QTBUG-41077 Issues to be fixed before 5.4.0 beta release
- Closed
For Gerrit Dashboard: QTBUG-41810 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
96508,3 | MSVC: Restore 'public' accessibility of QVariant member functions. | 5.4 | qt/qtbase | Status: MERGED | +2 | 0 |