Я написал собственный плагин для QCanBus
, который просто является копией плагина socketcan, но был переименован и идентификаторы были адаптированы к этому новому имени.
Я сделал это, чтобы сначала распознать плагин, прежде чем я его изменил.
Я изменил проект qmake, чтобы он выглядел так:
TEMPLATE = lib
TARGET = qtcopysocketcanbus
CONFIG += plugin
QT = core serialbus
HEADERS += \
copysocketcanbackend.h
SOURCES += \
main.cpp \
copysocketcanbackend.cpp
DISTFILES = plugin.json
и добавил plugin.json
примерно так:
{
"Key": "copysocketcan"
}
Затем я переименовал все остальное с socketcan
на copysocketcan
в main.cpp
, copysocketcan.cpp
и copysocketcan.h
.
Когда я собираю проект, я получаю файл * .so, который я помещаю в $QT_PLUGIN_PATH/canbus/
на своей цели.
Однако, быстрый старт показывает, что в qt перечислены только те плагины, которые поставлялись с установкой, а не мой добавленный пользовательский.
Я попытался поставить QLoggingCategory::setFilterRules(QStringLiteral("qt.canbus* = true"));
в качестве первой строки в моем коде и надеялся получить больше отладочных выходных данных, но я получаю только отладочные выходные данные, которые производит мое собственное приложение. Нет выходных данных из фактического QCanBus
.
Так что мои вопросы
- Как включить отладочный вывод для
qt.canbus
? Должен ли я собрать QT с отладочной конфигурацией для этого?
- Уместен ли мой подход к созданию плагина?
- Есть идеи, почему пользовательский плагин не указан?