Компиляция модуля расширения для Android не удалась из-за того, что qmldir не найден
У меня есть плагин расширения QML, созданный мастером Qt Creator. Когда я пытаюсь скомпилировать его для Android, происходит сбой компиляции с сообщением:
mingw32-make [1]: вход в каталог 'F: / work / app-project / build-app-Android_for_armeabi_GCC_4_8_Qt_5_3_1-Debug / extention'
mingw32-make [1]: *** Нет правила для создания цели 'F:\work\app-project\build-app-Android_for_armeabi_GCC_4_8_Qt_5_3_1-Debug\extention\qmldir', необходимого для libextention.so. Стоп.
Что не так с расширением .pro
файл? Хост ОС - Windows 7, Qt - 5.3.1
TEMPLATE = lib
TARGET = extention
QT += qml quick declarative
CONFIG += qt plugin
TARGET = $$qtLibraryTarget($$TARGET)
uri = com.example.extention
# Input
SOURCES += \
Plugin.cpp \
extention.cpp
HEADERS += \
Plugin.h \
extention.h
OTHER_FILES = qmldir
!equals(_PRO_FILE_PWD_, $$OUT_PWD) {
copy_qmldir.target = $$OUT_PWD/qmldir
copy_qmldir.depends = $$_PRO_FILE_PWD_/qmldir
copy_qmldir.commands = $(COPY_FILE) \"$$replace(copy_qmldir.depends, /, $$QMAKE_DIR_SEP)\" \"$$replace(copy_qmldir.target, /, $$QMAKE_DIR_SEP)\"
QMAKE_EXTRA_TARGETS += copy_qmldir
PRE_TARGETDEPS += $$copy_qmldir.target
}
qmldir.files = qmldir
unix {
installPath = $$[QT_INSTALL_QML]/$$replace(uri, \\., /)
qmldir.path = $$installPath
target.path = $$installPath
INSTALLS += target qmldir
}
1 ответ
Используйте QRC вместо копирования.qml-файлов в ваш каталог сборки. Qt решит все системные проблемы для вас.