0

我有一个 Qt 项目,我在其中编译 2 个 DLL 库和 1 个 EXE 可执行文件。EXE 文件使用 DLL 的。

当我在调试模式下编译 DLL并在发布模式下编译 EXE 时,出现了问题;应用程序没有启动,而是说QWidget必须在QApllication已经创建对象时创建对象。

当所有项目都以发布模式构建时,没有问题。

为什么我有这个错误?导致问题的调试发布模式有什么区别?

这是.exe的代码:

int main(int argc, char *argv[])
{
    QApplication BlocksManager(argc, argv);
    QTextCodec::setCodecForCStrings(QTextCodec::codecForName("utf8"));

    //LoginDialog authWidget;
    //if (authWidget.exec() != QDialog::Accepted)
        //return 0;

    Leos *initOb = new Leos;
    createTrees(*initOb);

    BlocksWidget wgt(initOb, NULL);
    delete initOb;
    return BlocksManager.exec();
}
4

0 回答 0