Я новичок в QML и должен работать над проектом, начатым коллегой.При запуске приложения я получаю следующие сообщения:
QML debugging is enabled. Only use this in a safe environment.
QML Debugger: Unable to listen to port 34567.
В связи с тем, что это проект ROS, я должен работать с cmake.
Система:
- Ubuntu 16.04
- Qt Creator 4.9.2
- QT 5.8.0
- ROS Kinetic
- Включить QML в настройках отладчика
То, что я пробовал до сих пор:
- перезагрузка системы
- пробовал несколько портов
- проверено, что никакое другое приложение Qt
- прослушивает порт с netcat
Фрагменты кода:
CMakeLists.txt:
set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -DQT_QML_DEBUG ")
set(TEMPLATE_QT_VERSION "5.8.0" CACHE STRING "Qt Version")
set(TEMPLATE_QT_MODULES Core Gui Widgets Quick Qml Concurrent Network DBus PrintSupport)
find_package(Qt5 ${TEMPLATE_QT_VERSION} EXACT CONFIG REQUIRED ${TEMPLATE_QT_MODULES})
main.cpp:
#include <QGuiApplication>
#include <QQmlDebuggingEnabler>
#include "ros/ros.h"
#include "heartbeat/heartbeat.h"
#include <string.h>
#include <iostream>
#include "message_handler/ros2tag.h"
#include <QQmlContext>
#include <QtCore/QDir>
#include <QtQuick/QQuickView>
#include <QtQml/QQmlEngine>
#include <QQmlApplicationEngine>
#include "imageprovider.h"
#include "qmlprox.h"
#include <QtGui/QGuiApplication>
#include <QtCore/QDir>
#include <QQmlEngine>
#include <QList>
#include <QString>
#include "geodataprovider.h"
#include "georeferenceddatalistmodel.h"
#include "georeferenceddatatriplelistmodel.h"
#include "parameterdatalistmodel.h"
#include "parameterdata.h"
#include "beetImageHandler.h"
int main(int argc, char **argv)
{
QGuiApplication app(argc, argv);
QQmlDebuggingEnabler enabler;
//Initialisierung Knoten
ros::init(argc, argv, "hmi");
ros::NodeHandle n;
ROS-Launchfile:
<launch>
<arg name="externParameters" default="0" />
<group ns="hmi">
<node name="hmi" pkg="hmi" type="hmi" respawn="true" respawn_delay="10" args="-qmljsdebugger=port:34567" />
</group>
</launch>
Из-за файла запуска ROS приложениезапускается с аргументом "-qmljsdebugger = port: 34567".
Может кто-нибудь из вас подскажет, пожалуйста, подсказку или решение моей проблемы?
Заранее спасибо