Closed Ligverd closed 9 years ago
QMAKE_MOC_OPTIONS += -Muri=$$URI
what does this mean? I can't find out how qmake deal with this.
-classname QMLAVModule
+classname QtAVQmlPlugin
what's the difference?
1) without this, when the application starts QtQuick will swear static plugin for module “QtQuick” with name “QtAV:: QtAVQmlPlugin” has no metadata URI
I spent a lot of time to understand what the problem is
URI = QtAV
QMAKE_MOC_OPTIONS += -Muri=$$URI
http://qt-project.org/forums/viewthread/38438
2) with static linking Qt and QtAV QtCreator when building the target application creates two files appname_qml_plugin_import.cpp and appname_plugin_import.cpp
// This file is autogenerated by qmake. It imports static plugin classes for
// static plugins used by QML imports.
#include <QtPlugin>
Q_IMPORT_PLUGIN(QtQuick2Plugin)
Q_IMPORT_PLUGIN(QtQuick2WindowPlugin)
Q_IMPORT_PLUGIN(QtQuickControlsPlugin)
Q_IMPORT_PLUGIN(QtAVQmlPlugin) <-- Q_IMPORT_PLUGIN(QMLAVModule)
Q_IMPORT_PLUGIN(QMultimediaDeclarativeModule)
Q_IMPORT_PLUGIN(QtQuickLayoutsPlugin)
i.e. trying to link statically plugins. ld looks for a class named qt_static_plugin_CALSSNAME() actually libQmlAV.a present ad qt_static_plugin_QtAVQmlPlugin() and searched classname qt_static_plugin_QMLAVModule() the result is that the linker complains undefined symbol
explained how could
in QtAV/qml/plugin.cpp
class QtAVQmlPlugin : public QQmlExtensionPlugin
{
Q_OBJECT
forgot to write Qt 5.4 QtCreator 3.2.2
you are right. thanks for your explanation. are you testing iOS?
iOS unfortunately not tested, but plan to try it. I'll write how you try.
QtAV frameworks build for iOS should be fine now. player & QMLPlayer have some strange build errors, the solution now is build QtAV sdk frameworks first and run sdk_install.sh, then modify player.pro for example in like this https://github.com/wang-bin/QtAV/wiki/Use-QtAV-In-Your-Projects. I have tested on simulator and works fine
With static linking climbed some errors. this patch of their rights
with static linking sdk_install/uninstall.sh trying to work with the .so files and it is necessary to .a I copied manually