Отладка Qt - Qml включена. Используйте это только в безопасной среде

Я пытаюсь запустить очень простую программу, которая просто закрывает окно при нажатии кнопки "exit", но получает следующий вывод при условии, что окно приложения, содержащее кнопку, не отображается:

Starting C:\Users\Ola\Desktop\signal_slot1-build-desktop-Qt_4_8_1_for_Desktop_-_MSVC2008__Qt_SDK__Debug\debug\signal_slot1.exe...
Qml debugging is enabled. Only use this in a safe environment!

Что мне делать в этом случае?

Ответ 1

Вы включили отладку QML (на самом деле она включена по умолчанию), это открывает порт интерпретатору Javascript, который запускает QML, чтобы вы могли получить отладочный вывод. Очевидно, что это создает дыру в безопасности, поэтому его следует отключать, когда он не используется в безопасном месте (он автоматически отключается при отпускании компиляции). Это предупреждение должно напомнить вам об этом.

Если вы не используете QML, все равно отключите его. Вы можете отключить его на странице параметров проекта, где установлены параметры сборки (это флажок в области qmake).

Ответ 2

Предполагая, что вы используете Qt Creator:

Если вы выберете тип Release-Build, отладка QML будет отключена. Для этого выберите тип сборки в левом нижнем углу над кнопкой "Запуск" и выберите "release".


В ручном режиме есть опция, переданная qmake (либо в файле .pro, либо через аргументы командной строки) с именем

CONFIG+=qml_debug

который позволяет отлаживать qml. Если вы опустите это, его следует отключить.