gpt4 book ai didi

android - mingw32-make `-j` 选项是否损坏?

转载 作者:行者123 更新时间:2023-11-28 01:47:01 26 4
gpt4 key购买 nike

我正在使用 QtCreator/w Qt 5.6 for Android 编译一个大项目(约 40 个库和 1 个可执行文件)。 QtCreator使用“mingw492_32\bin\mingw32-make.exe”来运行构建。

当我使用默认选项编译时,我的所有项目都能正常编译。

当我在 QtCreator 项目设置中将 -j4-j8 添加到 mingw32-make.exe 命令时,构建速度更快但随机失败。在某些时候,当库 B 链接到 A 时,我可以在日志中看到它尝试链接 BA编译还没有完成,所以报cannot open ..../libA.so

注意:

  • BA 的链接由 LIBS += -l$$OUT_PWD/../../lib/A/libA 管理B 的 .pro 文件中的 .so
  • B 出现在顶级 .pro 文件中的 A 之后 (SUBDIRS += A.pro B.pro)

最佳答案

根据 Qmake project dependencies (linked libraries) , 必须在 .pro 文件中明确指定依赖项。

所以我在我的顶级 .pro 文件中添加了(在 SUBDIRS += A.pro B.pro 之后):

CONFIG += ordered
B.depends += A

还有 PRE_TARGETDEPS += $$OUT_PWD/../../lib/A/libA.soB.so

通过这些更改,带有 -j4 选项的构建显然有效,并且它将我的项目编译时间减少了 3!!

关于android - mingw32-make `-j` 选项是否损坏?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44647006/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com