在为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
。
如何避免此错误?
环境: