0

我有一个奇怪的问题:

  1. 我有一个由 cmake 构建的子模块,它将生成一些静态库(名为 A1、A2、A3)(我在这里关注)
  2. 我编写了一些源代码来包装 A,然后通过 qbs 将其构建为静态库 B
  3. 我有一个程序 C,它依赖于 B 来运行测试

当我通过 qbs 命令行构建时,它运行良好。但是,当我通过 Qt Creator 4.3.1 构建时,它报告: creating libB.a TypeError: Result of expression 'lib' [undefined] is not an object The following product could not be built for configuration qtc_Desktop_de89834-debug: C 我单击错误,它链接到 Qt/Qt Creator.app/Contents/Resources/qbs/share/qbs/modules/cpp/gcc.js(行379)。我试图通过添加更多的日志行(即console.warn(libraryDependencies.libraries)来记录,然后它会注销一组库: libA1.a,libA2.a,libA3.a,libB.a,, 我不知道为什么它最后会出现一个空的库。提到 A1、A2、A3 和 B 足以构建 C。

这里有人可以帮忙吗?我在 MacOS 上使用 Qt 5.9.1

更新:一切都在 Qt Creator 4.5 上运行,所以我只是转移到 Qt Creator 4.5 :))

4

1 回答 1

0

是的,Qt Creator 4.3 以及它包含的 qbs 版本 (1.,8) 已不再受支持,因此进一步研究这一点毫无意义。更新是正确的解决方案。

于 2018-03-09T19:51:28.287 回答