我为 编写了一个自定义插件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
to copysocketcan
、main.cpp
thecopysocketcan.cpp
和 the copysocketcan.h
。
当我构建项目时,我得到了我放入$QT_PLUGIN_PATH/canbus/
目标的 *.so 文件。
但是,快速入门显示,qt 只列出了安装附带的插件,而不是我添加的自定义插件。
我尝试将QLoggingCategory::setFilterRules(QStringLiteral("qt.canbus* = true"));
第一行放在我的代码中,并希望获得更多的调试输出,但我只得到我自己的应用程序正在生成的调试输出。实际没有输出QCanBus
。
所以我的问题是
- 如何启用调试输出
qt.canbus
?我是否必须为此使用调试配置构建 QT? - 我创建插件的方法合理吗?
- 任何想法,为什么没有列出自定义插件?