我在一个静态库项目中填充了一组.qrc文件。在应用程序项目中,我初始化资源如下:
QGuiApplication app(argc, argv);
Q_INIT_RESOURCE(base);
Q_INIT_RESOURCE(images);
...
字符串
应用程序运行并正确加载所有.qrc文件。当我在资源内定义的任何.qml文件中放置断点时,应用程序停止,但Qt Creator无法将我指向断点所在的行。如果我单击恢复(F5),应用程序将正确恢复。当断点命中时,调试表达式求值器仅显示旋转轮,直到执行恢复:x1c 0d1x
当命中断点时(我确信是这样),IDE不会在红色圆圈内显示黄色箭头:
我按照文档中的指示,启用了QML调试,还设置了:
CONFIG += declarative_debug
CONFIG += qml_debug
型
在我的专业。不幸的是没有运气。
版本
- QtCreator:8.0.0基于Qt 6.3.1(GCC 10.3.1 20210422(Red Hat 10.3.1-1),x86_64)
- Qt:5.15.2 GCC 64位
你能帮我理解这是怎么回事吗?谢谢
1条答案
按热度按时间3df52oht1#
同样的问题:Debugging QML stored in qrc within shared library
最后,我得出了以下方案:
由于我有多个应用程序使用共享资源,我必须以这种方式组织项目结构:
根
这是我发现的唯一一个满足以下约束的方案:
res.qrc
,而不是/very/long/absolute/path/res.qrc
)res.qrc/res/myitem.qml
而不是res.qrc/../../very/long/path/to/myitem.qml
),并且新资源不应该要求别名(通过脚本或手动插入)以确保无摩擦开发问候