Имеется статическая сборка Qt. Эксешник (*.exe) собранный с помощью этой сборки имеет размер примерно ~12Мб и нормально запускается.
А вот библиотеку собрать не получается. Точнее, собраться-то она собирается, имеет размер аж ~18МБ, но при попытке подключить её, приложение вылетает с ошибкой <<
This application failed to start because it could not find or load the Qt platform plugin "windows">>.
Всё. В сообщении даже нет упоминания о том, какие плагины обнаружены.
- Я попробовал скопировать плагин "platforms/qwindows.dll" в папку с проектом - не помогло;
- копировал все плагины вместе с папкой "platforms" и отдельно от нее в папку с приложением - не помогло;
- копировал дополнительные библиотеки icu*XX.dll, libgcc*.dll, libstdc*.dll, libEGL, libGLES в папку с проектом - безрезультатно;
- пробовал копировать все эти библиотеки в папку "windows/system32" - тоже не помогло...
Облазил все интернеты и нашел такое вот
решение, но после добавления
qwindows.lib в проект, библиотека линкуется как-то не полностью что-ли, "худеет" сразу на 5МБ и теперь ее вес составляет ~12МБ, а при попытке подключить ее в приложении получаю стандартную ошибку о том, что файл "
Qt5Core.dll" не найден, а за ним и все остальные зависимости:
Qt5Gui,
Qt5Network,
Qt5Qml.... после добавления всех этих библиотек в папку с проектом, всё запускается и прекрасно работает, но сам дистрибутив при этом весит почти 90МБ =) и это со статической линковкой!?
- Библиотека без статической линковки весит всего 17КБ, но требует кучу либ из Qt5 (почти 60МБ);
- со статической линковкой и внесенными изменениями - 12МБ, но при этом тоже тащит за собой все зависимости Qt5;
- а библиотека собранная без добавления qwindows.lib в проект весит 18МБ, но не запускается вообще...
Как быть? Есть идеи?
Вот файл
.pro:
QT += widgets qml quick network core gui
TARGET = phpqml
TEMPLATE = lib
CONFIG += static dll qt thread
SOURCES += phpqml.cpp
HEADERS += phpqml.h
#INCLUDEPATH = C:/Qt/Qt5.3.0_Static/include
INCLUDEPATH += C:/src/php-5.3.26\
C:/src/php-5.3.26/main\
C:/src/php-5.3.26/Zend\
C:/src/php-5.3.26/sapi\
C:/src/php-5.3.26/TSRM
LIBS += -L$$PWD/../../../src/php-5.3.26-/dev/ -lphp5ts\
-L$$PWD/../../../Qt/Qt5.3.0_Static/plugins/platforms/ -lqwindows
INCLUDEPATH += $$PWD/../../../src/php-5.3.26
DEPENDPATH += $$PWD/../../../src/php-5.3.26
OTHER_FILES += \
phpqml.qml
Заголовочный
.h:
#include <QApplication>
#include <QQuickView>
#include <QtPlugin>
Q_IMPORT_PLUGIN (QWindowsIntegrationPlugin)
...