Сборка приложения Qt для Android - сбой при перемещении

Я столкнулся с какой-то странной ошибкой при создании приложения Qt / QML для Android. На данный момент у меня 2 конфигурации: - MinGW 5.3.0 32 бит - Android armeabi v7a (GCC 4.9)

Я могу скомпилировать / запустить версию MinGW без проблем. Но когда я компилирую версию Android, я получаю странную ошибку. И что интересно, ошибка возникает, когда скомпилированную библиотеку нужно переместить в папку DESTDIR. Сама компиляция прошла без проблем.

Подробно:

* .pro файл:

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.

И файл, к моему удивлению, переместился без проблем! Но почему при выполнении той же команды выполнить скрипт не удалось ??

в Makefile, который определяется как:

MOVE          = move
...
-$(MOVE) $(TARGET)  ..\..\MyProject\lib\ 

Итак, похоже, что make использует тот же move, что и я в консоли.

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

Среда:

  • Windows 10 x64
  • Qt 5.10.1

Вы нашли способ решения этой проблемы? У меня такая же проблема ... Редактировать: О, я не понимал, что вы спросили об этом только вчера! Думал, это будет более-менее частый вопрос

LoPiTaL 24.05.2018 08:42

Моя среда тоже Windows 10 x64, но я использую Qt 5.11

LoPiTaL 24.05.2018 08:45

Более того, я протестировал тот же проект с Qt 5.8, и он отлично выполнил инструкцию move ....

LoPiTaL 24.05.2018 10:30

Я спросил у поддержки Qt, и они говорят, что make должен быть от MinGW, т.е. mingw32-make.exe. Но моя конфигурация, которую я все равно не менял, использует make из Android NDK. Я собираюсь это проверить.

folibis 24.05.2018 15:45

Есть старый отчет об этой проблеме Qt, но, к сожалению, нет хороших решений для ее исправления: bugreports.qt.io/browse/QTBUG-35713

hamalaiv 04.07.2018 07:43

Этот отчет об ошибке Qt имеет обходной путь: bugreports.qt.io/browse/QTBUG-69255 Он отмечен как исправленный в Qt 5.11.2, но все еще присутствует в Qt 5.12.0.

Alexandr Zarubkin 05.01.2019 23:32
2
6
298
0

Другие вопросы по теме