我有一个奇怪的问题:
- 我有一个由 cmake 构建的子模块,它将生成一些静态库(名为 A1、A2、A3)(我在这里关注)
- 我编写了一些源代码来包装 A,然后通过 qbs 将其构建为静态库 B
- 我有一个程序 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 :))