qt - 为什么我不能从 qt creator 调试 qml?
问题描述
我安装了最后一个 Qt 5.12.2 。然后我通过 Qt Creator 打开 cmake 项目。
首先,我看到了有关智能问题的大量信息:从“未声明的 nullptr 标识”到每种类型“未知类型名称”的错误。
构建成功进行,我收到了正确的二进制文件。
但是任何标记为“无人认领的断点”的断点,我都无法调试任何 .qml(.cpp 可能是调试的)
那么为什么会发生以及如何调试 QML?(这个未来还支持吗?)
更新:“QQmlDebuggingEnabler 启动器;” 并且“doc.qt.io/qt-5/qtquick-debugging.html”没有帮助:(
更新2: @Amfasis -
解决方案
我创建了一个基于 CMake 的 Qt Quick 项目,它表明它支持 QML/JS 调试。我检查了 CMakeLists.txt,发现了一个相关的行:
target_compile_definitions(${PROJECT_NAME} PRIVATE $<$<OR:$<CONFIG:Debug>,$<CONFIG:RelWithDebInfo>>:QT_QML_DEBUG>)
所以我认为如果你想调试你的基于 CMake 的 Qt Quick 项目,你也应该将这一行添加到你的 CMakeLists.txt 中。
并且不要忘记在调试设置部分的项目设置中检查启用 QML。
推荐阅读
- bazel - Bazel 方面如何从 java_library 目标获取源文件列表?
- java - 无法在 eclipse photon 上安装 windowbuilder 插件
- image - Flutter pdf生成太慢,图像太慢
- c++ - 使用 stod() 转换小数点后带有字母的字符串时也不例外
- cassandra - Cassandra 表中的分布式行级锁定或实现更高的一致性
- google-app-engine - google cloud storage.object.delete 桶的权限已删除,想重新访问
- android - 如何判断颤振应用程序是否在android中处于活动状态
- html - http://www。到 http:// 重定向根本不起作用
- angular - primeNg 如何隐藏数据集标签?
- python - setup.py 将生成的共享库的副本放在根站点包目录中