【问题标题】:Error when building Qt5.13.2 from source on Windows for Android在 Windows for Android 上从源代码构建 Qt5.13.2 时出错
【发布时间】:2021-01-01 14:42:45
【问题描述】:

我在尝试从 Android 的源代码构建 Qt 5.13.2 时遇到问题。 我在 Windows 10 上使用过 PowerShell。 在配置命令之前,我已经设置了 JDK_ROOT 路径:

set "JDK_ROOT=C:\Program Files\Java\jdk1.8.0_241\bin

此配置命令执行成功:

..\src\qt5\configure -prefix E:\Qt\Static\Qt5.13.2Android -platform win32-g++ -opengl es2 -xplatform android-clang -android-sdk C:\Users\user\AppData\Local\Android\Sdk -android-ndk C:\Users\user\AppData\Local\Android\Sdk\ndk\21.3.6528147 -nomake tests -nomake examples -opensource -confirm-license

之后我执行:

mingw32-make -j4

在开始后不久,构建停止并在最后输出此输出:

del ..\..\..\lib\libQt5Bootstrap.a 2>NUL
ar -rc ..\..\..\lib\libQt5Bootstrap.a @object_script.libQt5Bootstrap.Release
mingw32-make[4]: Leaving directory 'E:/Qt/Static/build-android/qtbase/src/tools/bootstrap'
mingw32-make[3]: Leaving directory 'E:/Qt/Static/build-android/qtbase/src/tools/bootstrap'
mingw32-make[2]: Leaving directory 'E:/Qt/Static/build-android/qtbase/src'
mingw32-make[1]: *** [Makefile:51: sub-src-make_first] Error 2
mingw32-make[1]: Leaving directory 'E:/Qt/Static/build-android/qtbase'
mingw32-make: *** [Makefile:87: module-qtbase-make_first] Error 2

任何建议或想法为什么构建停止?提前致谢。

更新:Qt 5.14.2 和 Qt 5.12.5 也是如此

【问题讨论】:

  • 我觉得您的输出中缺少实际的错误消息。使用-j4 有助于加快构建速度,但它确实会混淆输出,因为每个进程都试图同时写入控制台。尝试删除 -j4 以便它按顺序构建。然后你应该能够看到真正的错误是什么。
  • @JarMan 非常感谢您的回复。我想知道为什么没有错误。我会按照您的建议尝试并尽快发布更新。再次感谢。
  • @JarMan 这实际上是解决方案。没有 -j4 我成功地构建了 qt。请删除您的评论并将其发布在答案中,以便我将其标记为已解决。非常感谢。

标签: android c++ qt build static


【解决方案1】:

makedocumentation 表示-j 选项告诉它将工作划分为并行运行的多个“工作”。这很有帮助,因为它以这种方式完成得更快。但是,随着每个作业写入同一个控制台,输出变得更加混乱,您无法轻易分辨出哪个输出来自哪个作业。因此,当您收到编译错误时,通常很难找到错误消息的实际内容。因此,当我收到错误时,我通常会删除 -j 选项,以便输出保持顺序并且我可以实际读取它。

注意:您在 cmets 中写道,只需删除此选项即可使 qt 成功编译,所以这就是我写这个作为答案的原因。但我真的不知道为什么这会有所帮助。也许有一些东西在多个工作中被乱序编译。无论如何,我很高兴这个答案对你有所帮助。

【讨论】:

  • 是的,我同意注意。如果我发现究竟是什么问题,我会在 cmets 中发布更新。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2022-01-18
  • 2019-11-10
  • 2011-06-17
  • 1970-01-01
  • 1970-01-01
  • 2018-05-06
  • 1970-01-01
相关资源
最近更新 更多