aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKai Köhne <kai.koehne@qt.io>2021-06-23 08:57:09 +0200
committerQt Cherry-pick Bot <cherrypick_bot@qt-project.org>2021-06-25 14:16:44 +0000
commit4937e962681299271f3d4f6e3fadd215afa3bcf6 (patch)
treefbceb0a2326b247ceb2e2ecebacaf5a894aa52be
parent88af23b2fe7ca627f5599b6c16446f7635704e85 (diff)
Fix static builds on Windows
Fixes issues like qml_qmltyperegistrations.cpp(28): error C2375: 'qml_register_types_QtQml': redefinition; different linkage qtbase\include\QtQml\6.2.0\QtQml\private\../../../../../../../src/qtdeclarative/src/qml/qtqmlglobal_p.h(62): note: see declaration of 'qml_register_types_QtQml' Change-Id: I063b60638978faa4e79cbf7eb75849a367730893 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io> (cherry picked from commit d0cb449208ff618498e3e129b4af1b22086da082) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
-rw-r--r--src/qmltyperegistrar/qmltyperegistrar.cpp9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/qmltyperegistrar/qmltyperegistrar.cpp b/src/qmltyperegistrar/qmltyperegistrar.cpp
index 914781e737..af266064c0 100644
--- a/src/qmltyperegistrar/qmltyperegistrar.cpp
+++ b/src/qmltyperegistrar/qmltyperegistrar.cpp
@@ -197,7 +197,14 @@ int main(int argc, char **argv)
const QString functionName = QStringLiteral("qml_register_types_") + moduleAsSymbol;
- fprintf(output, "Q_DECL_EXPORT void %s()\n{", qPrintable(functionName));
+ fprintf(output,
+ "#if !defined(QT_STATIC)\n"
+ "#define Q_QMLTYPE_EXPORT Q_DECL_EXPORT\n"
+ "#else\n"
+ "#define Q_QMLTYPE_EXPORT\n"
+ "#endif\n"
+ "\n");
+ fprintf(output, "Q_QMLTYPE_EXPORT void %s()\n{", qPrintable(functionName));
const auto majorVersion = parser.value(majorVersionOption);
const auto pastMajorVersions = parser.values(pastMajorVersionOption);
const auto minorVersion = parser.value(minorVersionOption);