mirror of
https://github.com/crystalidea/qt6windows7.git
synced 2025-07-07 17:50:59 +08:00
qt 6.5.1 original
This commit is contained in:
@ -0,0 +1,32 @@
|
||||
# Copyright (C) 2022 The Qt Company Ltd.
|
||||
# SPDX-License-Identifier: BSD-3-Clause
|
||||
|
||||
qt_internal_add_cmake_library(theplugin
|
||||
MODULE
|
||||
INSTALL_DIRECTORY "${INSTALL_TESTSDIR}/tst_qpluginloader/bin"
|
||||
OUTPUT_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/../bin"
|
||||
SOURCES
|
||||
theplugin.cpp theplugin.h
|
||||
LIBRARIES
|
||||
Qt::Core
|
||||
)
|
||||
qt_autogen_tools_initial_setup(theplugin)
|
||||
|
||||
if (UNIX AND NOT APPLE)
|
||||
qt_internal_add_cmake_library(theoldplugin
|
||||
MODULE
|
||||
INSTALL_DIRECTORY "${INSTALL_TESTSDIR}/tst_qpluginloader/bin"
|
||||
OUTPUT_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/../bin"
|
||||
SOURCES
|
||||
theoldplugin.cpp theoldplugin.h
|
||||
LIBRARIES
|
||||
Qt::Core
|
||||
)
|
||||
qt_autogen_tools_initial_setup(theoldplugin)
|
||||
|
||||
# Force unoptimized builds with debugging information so some "QTMETADATA !"
|
||||
# strings appear elsewhere in the binary.
|
||||
target_compile_options(theplugin PRIVATE -O0 -g3)
|
||||
target_compile_options(theoldplugin PRIVATE -O0 -g3)
|
||||
endif()
|
||||
|
@ -0,0 +1,22 @@
|
||||
// Copyright (C) 2016 The Qt Company Ltd.
|
||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
|
||||
#ifndef PLUGININTERFACE_H
|
||||
#define PLUGININTERFACE_H
|
||||
|
||||
#include <QtCore/QtGlobal>
|
||||
|
||||
struct PluginInterface {
|
||||
virtual ~PluginInterface() {}
|
||||
virtual QString pluginName() const = 0;
|
||||
};
|
||||
|
||||
QT_BEGIN_NAMESPACE
|
||||
|
||||
#define PluginInterface_iid "org.qt-project.Qt.autotests.plugininterface"
|
||||
|
||||
Q_DECLARE_INTERFACE(PluginInterface, PluginInterface_iid)
|
||||
|
||||
QT_END_NAMESPACE
|
||||
|
||||
#endif // PLUGININTERFACE_H
|
||||
|
@ -0,0 +1,80 @@
|
||||
// Copyright (C) 2021 Intel Corporation.
|
||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
|
||||
#include "theoldplugin.h"
|
||||
#include <QtCore/QString>
|
||||
#include <QtCore/qplugin.h>
|
||||
|
||||
QString TheOldPlugin::pluginName() const
|
||||
{
|
||||
return QLatin1String("Plugin ok");
|
||||
}
|
||||
|
||||
static int pluginVariable = 0xc0ffee;
|
||||
extern "C" Q_DECL_EXPORT int *pointerAddress()
|
||||
{
|
||||
return &pluginVariable;
|
||||
}
|
||||
|
||||
// This hardcodes the old plugin metadata from before Qt 6.2
|
||||
QT_PLUGIN_METADATA_SECTION
|
||||
static constexpr unsigned char qt_pluginMetaData_ThePlugin[] = {
|
||||
'Q', 'T', 'M', 'E', 'T', 'A', 'D', 'A', 'T', 'A', ' ', '!',
|
||||
// metadata version, Qt version, architectural requirements
|
||||
0, QT_VERSION_MAJOR, QT_VERSION_MINOR, qPluginArchRequirements(),
|
||||
0xbf,
|
||||
// "IID"
|
||||
0x02, 0x78, 0x2b, 'o', 'r', 'g', '.', 'q',
|
||||
't', '-', 'p', 'r', 'o', 'j', 'e', 'c',
|
||||
't', '.', 'Q', 't', '.', 'a', 'u', 't',
|
||||
'o', 't', 'e', 's', 't', 's', '.', 'p',
|
||||
'l', 'u', 'g', 'i', 'n', 'i', 'n', 't',
|
||||
'e', 'r', 'f', 'a', 'c', 'e',
|
||||
// "className"
|
||||
0x03, 0x69, 'T', 'h', 'e', 'P', 'l', 'u',
|
||||
'g', 'i', 'n',
|
||||
// "MetaData"
|
||||
0x04, 0xa2, 0x67, 'K', 'P', 'l', 'u', 'g',
|
||||
'i', 'n', 0xa8, 0x64, 'N', 'a', 'm', 'e',
|
||||
0x6e, 'W', 'i', 'n', 'd', 'o', 'w', 'G',
|
||||
'e', 'o', 'm', 'e', 't', 'r', 'y', 0x68,
|
||||
'N', 'a', 'm', 'e', '[', 'm', 'r', ']',
|
||||
0x78, 0x1f, uchar('\xe0'), uchar('\xa4'), uchar('\x9a'), uchar('\xe0'), uchar('\xa5'), uchar('\x8c'),
|
||||
uchar('\xe0'), uchar('\xa4'), uchar('\x95'), uchar('\xe0'), uchar('\xa4'), uchar('\x9f'), ' ', uchar('\xe0'),
|
||||
uchar('\xa4'), uchar('\xad'), uchar('\xe0'), uchar('\xa5'), uchar('\x82'), uchar('\xe0'), uchar('\xa4'), uchar('\xae'),
|
||||
uchar('\xe0'), uchar('\xa4'), uchar('\xbf'), uchar('\xe0'), uchar('\xa4'), uchar('\xa4'), uchar('\xe0'), uchar('\xa5'),
|
||||
uchar('\x80'), 0x68, 'N', 'a', 'm', 'e', '[', 'p',
|
||||
'a', ']', 0x78, 0x24, uchar('\xe0'), uchar('\xa8'), uchar('\xb5'), uchar('\xe0'),
|
||||
uchar('\xa8'), uchar('\xbf'), uchar('\xe0'), uchar('\xa9'), uchar('\xb0'), uchar('\xe0'), uchar('\xa8'), uchar('\xa1'),
|
||||
uchar('\xe0'), uchar('\xa9'), uchar('\x8b'), uchar('\xe0'), uchar('\xa8'), uchar('\x9c'), uchar('\xe0'), uchar('\xa9'),
|
||||
uchar('\x81'), uchar('\xe0'), uchar('\xa8'), uchar('\xae'), uchar('\xe0'), uchar('\xa9'), uchar('\x88'), uchar('\xe0'),
|
||||
uchar('\xa8'), uchar('\x9f'), uchar('\xe0'), uchar('\xa8'), uchar('\xb0'), uchar('\xe0'), uchar('\xa9'), uchar('\x80'),
|
||||
0x68, 'N', 'a', 'm', 'e', '[', 't', 'h',
|
||||
']', 0x78, 0x39, uchar('\xe0'), uchar('\xb8'), uchar('\xa1'), uchar('\xe0'), uchar('\xb8'),
|
||||
uchar('\xb4'), uchar('\xe0'), uchar('\xb8'), uchar('\x95'), uchar('\xe0'), uchar('\xb8'), uchar('\xb4'), uchar('\xe0'),
|
||||
uchar('\xb8'), uchar('\x82'), uchar('\xe0'), uchar('\xb8'), uchar('\x99'), uchar('\xe0'), uchar('\xb8'), uchar('\xb2'),
|
||||
uchar('\xe0'), uchar('\xb8'), uchar('\x94'), uchar('\xe0'), uchar('\xb8'), uchar('\x82'), uchar('\xe0'), uchar('\xb8'),
|
||||
uchar('\xad'), uchar('\xe0'), uchar('\xb8'), uchar('\x87'), uchar('\xe0'), uchar('\xb8'), uchar('\xab'), uchar('\xe0'),
|
||||
uchar('\xb8'), uchar('\x99'), uchar('\xe0'), uchar('\xb9'), uchar('\x89'), uchar('\xe0'), uchar('\xb8'), uchar('\xb2'),
|
||||
uchar('\xe0'), uchar('\xb8'), uchar('\x95'), uchar('\xe0'), uchar('\xb9'), uchar('\x88'), uchar('\xe0'), uchar('\xb8'),
|
||||
uchar('\xb2'), uchar('\xe0'), uchar('\xb8'), uchar('\x87'), 0x68, 'N', 'a', 'm',
|
||||
'e', '[', 'u', 'k', ']', 0x78, 0x19, uchar('\xd0'),
|
||||
uchar('\xa0'), uchar('\xd0'), uchar('\xbe'), uchar('\xd0'), uchar('\xb7'), uchar('\xd0'), uchar('\xbc'), uchar('\xd1'),
|
||||
uchar('\x96'), uchar('\xd1'), uchar('\x80'), uchar('\xd0'), uchar('\xb8'), ' ', uchar('\xd0'), uchar('\xb2'),
|
||||
uchar('\xd1'), uchar('\x96'), uchar('\xd0'), uchar('\xba'), uchar('\xd0'), uchar('\xbd'), uchar('\xd0'), uchar('\xb0'),
|
||||
0x6b, 'N', 'a', 'm', 'e', '[', 'z', 'h',
|
||||
'_', 'C', 'N', ']', 0x6c, uchar('\xe7'), uchar('\xaa'), uchar('\x97'),
|
||||
uchar('\xe5'), uchar('\x8f'), uchar('\xa3'), uchar('\xe5'), uchar('\xbd'), uchar('\xa2'), uchar('\xe7'), uchar('\x8a'),
|
||||
uchar('\xb6'), 0x6b, 'N', 'a', 'm', 'e', '[', 'z',
|
||||
'h', '_', 'T', 'W', ']', 0x6c, uchar('\xe8'), uchar('\xa6'),
|
||||
uchar('\x96'), uchar('\xe7'), uchar('\xaa'), uchar('\x97'), uchar('\xe4'), uchar('\xbd'), uchar('\x8d'), uchar('\xe7'),
|
||||
uchar('\xbd'), uchar('\xae'), 0x6c, 'S', 'e', 'r', 'v', 'i',
|
||||
'c', 'e', 'T', 'y', 'p', 'e', 's', 0x81,
|
||||
0x68, 'K', 'C', 'M', 'o', 'd', 'u', 'l',
|
||||
'e', 0x76, 'X', '-', 'K', 'D', 'E', '-',
|
||||
'P', 'a', 'r', 'e', 'n', 't', 'C', 'o',
|
||||
'm', 'p', 'o', 'n', 'e', 'n', 't', 's',
|
||||
0x81, 0x6e, 'w', 'i', 'n', 'd', 'o', 'w',
|
||||
'g', 'e', 'o', 'm', 'e', 't', 'r', 'y',
|
||||
0xff,
|
||||
};
|
||||
QT_MOC_EXPORT_PLUGIN(TheOldPlugin, ThePlugin)
|
@ -0,0 +1,21 @@
|
||||
// Copyright (C) 2021 Intel Corportaion.
|
||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
|
||||
#ifndef THEOLDPLUGIN_H
|
||||
#define THEOLDPLUGIN_H
|
||||
|
||||
#include <QObject>
|
||||
#include <QtPlugin>
|
||||
#include "plugininterface.h"
|
||||
|
||||
class TheOldPlugin : public QObject, public PluginInterface
|
||||
{
|
||||
Q_OBJECT
|
||||
// Q_PLUGIN_METADATA intentionally missing
|
||||
Q_INTERFACES(PluginInterface)
|
||||
|
||||
public:
|
||||
virtual QString pluginName() const override;
|
||||
};
|
||||
|
||||
#endif // THEOLDPLUGIN_H
|
||||
|
@ -0,0 +1,16 @@
|
||||
// Copyright (C) 2016 The Qt Company Ltd.
|
||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
|
||||
#include <QtCore/QString>
|
||||
#include "theplugin.h"
|
||||
#include <QtCore/qplugin.h>
|
||||
|
||||
QString ThePlugin::pluginName() const
|
||||
{
|
||||
return QLatin1String("Plugin ok");
|
||||
}
|
||||
|
||||
static int pluginVariable = 0xc0ffee;
|
||||
extern "C" Q_DECL_EXPORT int *pointerAddress()
|
||||
{
|
||||
return &pluginVariable;
|
||||
}
|
@ -0,0 +1,21 @@
|
||||
// Copyright (C) 2016 The Qt Company Ltd.
|
||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
|
||||
#ifndef THEPLUGIN_H
|
||||
#define THEPLUGIN_H
|
||||
|
||||
#include <QObject>
|
||||
#include <QtPlugin>
|
||||
#include "plugininterface.h"
|
||||
|
||||
class ThePlugin : public QObject, public PluginInterface
|
||||
{
|
||||
Q_OBJECT
|
||||
Q_PLUGIN_METADATA(IID "org.qt-project.Qt.autotests.plugininterface" FILE "../utf8_data.json")
|
||||
Q_INTERFACES(PluginInterface)
|
||||
|
||||
public:
|
||||
virtual QString pluginName() const override;
|
||||
};
|
||||
|
||||
#endif // THEPLUGIN_H
|
||||
|
Reference in New Issue
Block a user