构建Android的Qt应用程序 - 移动失败

时间:2018-05-22 08:39:54

标签: android qt makefile qmake

在为Android构建我的Qt / QML应用程序时,我遇到了一些奇怪的错误。 目前我有2个配置:   - MinGW 5.3.0 32位   - Android armeabi v7a(GCC 4.9)

我可以毫无问题地编译/运行MinGW版本。 但是当我编译Android版本时,我得到一些奇怪的错误。有趣的是,当编译的lib应该移动到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

编译通过了w / o问题,但我仍然收到错误:

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

0 个答案:

没有答案