我有一个 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();
}