Почему я не могу использовать консольный вывод в проекте QBS?

В моем файле QBS:

import qbs

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

У меня есть сообщение: ReferenceError: Не удается найти переменную: console

Моя версия Qt — 5.5.0. Моя версия Qt Creator — 3.5.1

Я использую бинарные файлы из репозитория MSYS2.

РЕДАКТИРОВАТЬ: Я могу видеть методы console Переменная в текстовом редакторе с помощью клавиши Ctrl-Space.

1

Решение

API ведения консоли поддерживается в Qbs 1.5, и его вывод будет отображаться на вкладке Общие сообщения Qt Creator. В Qbs 1.4.5 и ниже print () — единственная доступная функция отладки. Как показывает другой ответ, вам придется использовать это или throw,

Дата выхода Qbs 1.5 пока не установлена. Qbs 1.5 был выпущен в среду 11 мая 2016 года.

3

Другие решения

Хотя я не уверен, почему console объект не поддерживается в ООК (все еще застрял в QMAKE сам), вы можете получить консольный вывод с print:

        print("Hello!");

Это работает в консоли, но пока не в Qt Creator. Это будет решено в qbs 1.5, но на момент написания этого ещё не выпущено, как отмечает @JakePetroules. Соответствующее, исправленное сообщение об ошибке Вот.

Для старых версий, кажется, вам просто нужно либо throw "Hello!"; (что приводит к сбою сборки), или запускайте qbs из командной строки при отладке сборки проекта (используемую команду удобно скопировать из представления Qt Creator Projects).


Относительно того, почему автозаполнение Qt Creator показывает это, это может привести к предположению: console жестко запрограммирован в автозаполнение Javascript в качестве основной функции Javascript, которая всегда доступна. Может стоит написать отчет об ошибке!

0

По вопросам рекламы [email protected]