为什么我不能在QBS项目中使用控制台输出?

时间:2015-12-21 14:51:36

标签: c++ qt qt-creator qbs

在我的qbs文件中:

import qbs

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

我收到消息:ReferenceError:找不到变量:console

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

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

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

2 个答案:

答案 0 :(得分:3)

Qbs 1.5支持console logging API,其输出将显示在Qt Creator的常规消息选项卡中。在Qbs 1.4.5及更低版本中,print()是唯一可用的调试功能。正如另一个答案所示,您必须使用它或throw

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

答案 1 :(得分:0)

虽然我不确定 qbs 中是否支持console对象(我自己仍然停留在 qmake ),但您可以获得控制台输出与print

        print("Hello!");

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

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

至于为什么Qt Creator自动完成显示它,它会冒险猜测:它可能因为console被硬编码到其Javascript自动完成中作为核心Javascript功能始终可用。可能值得写a bug report