Qt 6.1.0 MinGW编译QStateMachine出现__imp__ZN13QStateMachine未定义引用错误
错误原因
这是链接阶段缺失依赖库的典型报错:你已经正确引入了QStateMachine相关头文件,所以编译阶段可以正常通过,但因为你没有在项目配置中声明对Qt StateMachine模块的依赖,链接器无法找到对应类的实现代码,所以抛出undefined reference错误。
Qt 5及以上版本中,状态机相关组件已经从核心模块独立为单独的statemachine模块,默认不会被引入项目,需要手动在配置中声明依赖。
解决方法
- 打开你项目的
.pro配置文件 - 修改首行的QT依赖声明,新增
statemachine模块:
# 修改前 QT += core gui # 修改后 QT += core gui statemachine
- 保存配置文件后,在Qt Creator顶部菜单栏选择「构建」→「执行qmake」,刷新项目编译配置
- 执行「清理项目」操作清除之前的旧编译缓存,再重新编译运行项目即可
内容的提问来源于stack exchange,提问作者String Max
相关产品推荐
相关产品推荐

