Я столкнулся с какой-то странной ошибкой при создании приложения Qt / QML для Android.На данный момент у меня есть 2 конфигурации: - MinGW 5.3.0 32 bit - Android armeabi v7a (GCC 4.9)
Я могу без проблем скомпилировать / запустить версию MinGW.Но когда я компилирую версию для Android, я получаю странную ошибку.И что интересно, ошибка возникает, когда скомпилированная библиотека должна быть перемещена в папку DESTDIR.Сама компиляция прошла без проблем.
Подробнее:
*. Pro file:
QT += gui widgets
TARGET = MyLib
TEMPLATE = lib
DESTDIR=$$PWD/../lib
SOURCES += \
...
HEADERS += \
...
В настройках проекта make
определено как `C: \ Users... \ AppData \ Local \ Android \ android-ndk-r17 \ prebuilt \ windows-x86_64 \ bin \ make в консоли я запустил это следующим образом:
> C:\Users\...\AppData\Local\Android\android-ndk-r17\prebuilt\windows-x86_64\bin\make all
Компиляция прошла безпроблемы, но я все еще получаю сообщение об ошибке:
move libMyLib.so ..\..\MyProject\lib\
process_begin: CreateProcess(NULL, move libMyLib.so "..\..\MyProject\lib ", ...) failed.
make (e=2): The system cannot find the file specified.
make: [..\..\MyProject\lib\libMyLib.so] Error 2 (ignored)
Похоже, что сценарий не может переместить скомпилированный файл в папку назначения.Хорошо, я пытался сделать это вручную.Вот, в том же окне консоли я сделал:
move libMyLib.so ..\..\MyProject\lib\
1 file(s) moved.
И файл к моему изумлению переместился без проблем!Но почему не удалось выполнить скрипт make в той же команде ??
в Makefile
, которая определена как:
MOVE = move
...
-$(MOVE) $(TARGET) ..\..\MyProject\lib\
Таким образом, похоже, что make использует тот же move
, что и в консоли.
Как мне избежать этой ошибки?
Среда: