Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/160.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ Qt 6.1.0 MinGW包括与“__进口ZN13QStateMachine&x2026”;_C++_Qt_Mingw_Qt6 - Fatal编程技术网

C++ Qt 6.1.0 MinGW包括与“__进口ZN13QStateMachine&x2026”;

C++ Qt 6.1.0 MinGW包括与“__进口ZN13QStateMachine&x2026”;,c++,qt,mingw,qt6,C++,Qt,Mingw,Qt6,这里我使用的是Qt-Creator,今天我试图编译这段代码时,它碰巧导致了一些错误。 代码: #包括“mainwindow.h” #包括 #包括 #包括 #包括 #包括 int main(int argc,char*argv[]) { 质量保证申请a(argc、argv); QPushButton按钮(“状态机”); qstate机器; QState*s1=新的QState(&machine); QState*s2=新的QState(&machine); QState*s3=新的QState(&

这里我使用的是Qt-Creator,今天我试图编译这段代码时,它碰巧导致了一些错误。 代码:

#包括“mainwindow.h”
#包括
#包括
#包括
#包括
#包括
int main(int argc,char*argv[])
{
质量保证申请a(argc、argv);
QPushButton按钮(“状态机”);
qstate机器;
QState*s1=新的QState(&machine);
QState*s2=新的QState(&machine);
QState*s3=新的QState(&machine);
s1->assignProperty(&按钮,“几何体”,QRect(100100100,50));
s2->赋值属性(&按钮,“几何体”,QRect(30010010050));
s3->assignProperty(&按钮,“几何体”,QRect(20020010050));
s1->addTransition(&按钮,信号(单击()),s2);
s2->addTransition(&按钮,信号(单击()),s3);
s3->addTransition(&按钮,信号(单击()),s1);
机器设置初始状态(s1);
machine.start();
按钮。显示();
返回a.exec();
}
错误如下所示

D:\Users\STRING10\Documents\QtProjects\build-QStateMachineTest-Desktop_Qt_6_1_0_MinGW_64_bit-Debug..\QStateMachineTest\main.cpp:15: error: undefined reference to \`__imp__ZN13QStateMachineC1EP7QObject' debug/main.o: In function \`qMain(int, char**)': D:\Users\STRING10\Documents\QtProjects\build-QStateMachineTest-Desktop_Qt_6_1_0_MinGW_64_bit-Debug/../QStateMachineTest/main.cpp:15: undefined reference to \`__imp__ZN13QStateMachineC1EP7QObject'
我试图找出我是否错过了存储库,但它确实存在于我的计算机中,我将编译器命名为MinGW,它有一个名为QState的存储库

这是我的.pro:

QT       += core gui

greaterThan(QT_MAJOR_VERSION, 4): QT += widgets

CONFIG += c++11

# You can make your code fail to compile if it uses deprecated APIs.
# In order to do so, uncomment the following line.
#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000    # disables all the APIs deprecated before Qt 6.0.0

SOURCES += \
    main.cpp \
    mainwindow.cpp

HEADERS += \
    mainwindow.h

FORMS += \
    mainwindow.ui

# Default rules for deployment.
qnx: target.path = /tmp/$${TARGET}/bin
else: unix:!android: target.path = /opt/$${TARGET}/bin
!isEmpty(target.path): INSTALLS += target

在Qt6中,QStateMachine(和其他类似类)属于QtStateMachine子模块,不再属于QtCore子模块,因此将
QT+=statemachine
添加到.pro.

thx,我编辑帖子@给你这么多THX!