我有一个QML插件项目和我的应用程序项目以及subdirs
项目,其组织方式如下:
project.pro
plugin/
plugin.pro
Plugin.cpp
Plugin.h
qmldir
app/
app.pro
main.cpp
main.qml
qml.qrc
project.pro
:
TEMPLATE = subdirs
SUBDIRS = app plugin
app.depends = plugin
plugin.pro
:
TEMPLATE = lib
QT += qml quick
CONFIG += plugin c++11
TARGET = $$qtLibraryTarget(plugin)
PLUGIN_URI = com.test.plugin
SOURCES += Plugin.cpp
HEADERS += Plugin.h
app.pro
:
QT += qml quick
SOURCES += main.cpp
RESOURCES += qml.qrc
它的构建符合预期,现在我需要将路径传递到已编译的libplugin.dylib
/ .so
/ .dll
和qmldir
到我的应用程序。我看到两种方式:
使用INSTALL qmake变量将插件文件复制到/path/to/qt/5.10.1/clang_64/qml/com/test/plugin/。
将插件文件复制到应用程序可执行文件附近,并使用QQmlEngine::addImportPath()
将此路径相对于可执行文件添加。
哪种方法会更好?怎么做?