1

在我的 qbs 文件中:

import qbs

Project {
    name: {
            console.info("Hello!");
            return "ProjectName";
    }
 ...
 }

我收到消息:ReferenceError:找不到变量:控制台

我的 Qt 版本是 5.5.0。我的 Qt Creator 版本是 3.5.1

我使用了 MSYS2 repo 中的二进制文件。

编辑:我可以console通过 Ctrl-Space 热键在文本编辑器中查看变量方法。

4

2 回答 2

3

Qbs 1.5 支持控制台日志记录 API,其输出将显示在 Qt Creator 的 General Messages 选项卡中。在 Qbs 1.4.5 及以下版本中,print() 是唯一可用的调试函数。正如另一个答案所示,您必须使用它 or throw

Qbs 1.5 的发布日期尚未确定。Qbs 1.5 于 2016 年 5 月 11 日星期三发布。

于 2015-12-22T04:44:37.550 回答
0

虽然我不确定为什么qbsconsole不支持对象(我自己仍然停留在qmake领域),但您可以通过以下方式获得控制台输出:print

        print("Hello!");

这适用于控制台,但不适用于 Qt Creator。这将在 qbs 1.5 中解决,但正如@JakePetroules 所指出的那样,在撰写本文时尚未发布。相关的、已解决的错误报告在这里

对于旧版本,您似乎只需要throw "Hello!";(这会使构建失败),或者在调试项目构建时从命令行运行 qbs(使用的命令可以方便地从 Qt Creator Projects 视图中复制)。


至于为什么 Qt Creator 自动完成显示它,它会冒险猜测:这可能是因为它console被硬编码到它的 Javascript 自动完成中,作为始终可用的核心 Javascript 功能。可能值得写一个错误报告

于 2015-12-21T15:53:34.487 回答