Сборка приложения Qt для Android - перемещение не удалось - PullRequest
0 голосов
/ 22 мая 2018

Я столкнулся с какой-то странной ошибкой при создании приложения 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, что и в консоли.

Как мне избежать этой ошибки?

Среда:

  • Windows 10 x64
  • Qt 5.10.1
...