2016-08-22 6 views
0

У меня есть две среды (DEV и PROD). Оба являются linux, которые запускают Connman в качестве сетевого менеджера. В моей среде DEV конфигурация сигналаAdded работает правильно, когда я подключаю/отсоединяю кабель Ethernet. С другой стороны, в PROD env, с компьютером с теми же спецификациями hw, этот сигнал не испускается. Мой вопрос в этом разделе: на каком основании Qt, в частности QtNetwork, испускать этот сигнал? Каковы их недостатки? Я предполагаю, что у меня есть какие-либо недостающие зависимости в PROD env, поскольку это не работает должным образом.qt - QNetworkConfigurationManager :: configurationAdded signal not working

Я прочитал это QNetworkConfigurationManager::configurationChanged signal not getting called for ETHERNET config changes, но в этом вопросе пользователь просит окна, а не для linux. В любом случае это не было разрешено.

EDIT: Проверка QNetworkConfigurationManager :: возможности, результат в среде DEV является QFlags (0x1 | 0x10 | 0x20 | 0x40), а в ПРОД окр является QFlags() (пусто). Таким образом, это может быть проблемой с сервером QtNetwork в PROD env.

ответ

0

Проблема в том, что бинарное приложение не получает правильный путь к плагинам. В этом случае необходим плагин. Вы можете проверить эту отладку с помощью QLibraryInfo :: location (QLibraryInfo :: PluginsPath). Если ваш путь неправильный, вы можете решить его с помощью файла qt.conf или путей установки. Оба метода указаны в этом документе Qt documentation article