gpt4 book ai didi

c++ - Qt程序编译失败/有运行时错误(IDE : CodeBlocks/QtCreator)

转载 作者:太空宇宙 更新时间:2023-11-04 14:11:27 25 4
gpt4 key购买 nike

我是 Qt 新手。虽然我已经安装了 4.8.3 很久了,但我昨天开始编写我的第一个 Qt 程序。我在windows环境下,我的C++代码使用CodeBlocks。

我按照 Qt 编程这本书,并尝试重现书中的示例。问题出现在第二章,需要单独编译。我从未使用 CodeBlocks 进行过成功的单独编译,这次也不异常(exception):我仍然收到“对 XXX 的未知引用”。

我试图在网上找到所有说明,但我仍然无法解决它(设置 qmake、链接等)。尤其是当我使用 qmake 并将 makefile 标记为自定义时,每当我编译我的程序时,CodeBlocks 告诉我项目尚未建成;当我点击"is"来构建程序时,弹出相同的“尚未构建”通知,然后重复该过程。

我曾经怀疑我的Qt有问题,所以我把它删除并安装了最新的(Qt5.0)。但我无法使用它,因为 CodeBlocks 仅支持 Qt4,而我的编译器不支持 Qt5。

所以我尝试下载“旧版本”4.8.4。后来发现连一个单文件的程序都编译不出来(我是说整个工程一个.cpp文件,没有自定义头文件)。我试了默认的CodeBlock qt程序,是这样的:

    #include <QApplication>
#include <QFont>
#include <QPushButton>

int main(int argc, char* argv[])
{
QApplication app(argc, argv);
QPushButton quit("Quit");
quit.resize(75, 30);
quit.setFont(QFont("Times", 18, QFont::Bold));
QObject::connect(&quit, SIGNAL(clicked()), &app, SLOT(quit()));
quit.show();
return app.exec();
}

只是一个非常标准的。它应该可以编译,而且确实可以编译,但情况更糟:程序永远无法运行,因为它在执行后立即发生运行时错误(错误代码:0xC0000005 或 -1073741819)这是我的问题1:我没有线索,我该怎么做才能解决问题?我不介意删除我的 CodeBlocks 和 Qt 并在它们工作时重新安装,但我已经尝试过了,但没有用。

我的第二个问题:(已解决)然后我尝试使用 Qt Creator。当我编译上面显示的简单程序时,我收到了很多关键字“unwind_resume”的错误 - 谁能告诉我如何解决它? (网上的评论建议运行qtvar.bat,但是没有用;有的建议构建调试库,我试过了,但是因为内存不够不小心停止了?)

我的第三个问题:(觉得比较多余,因为上面已经讨论过了,所以删掉了)

(我首先要感谢那些真正阅读我的帖子的人。我不得不说,虽然提供的信息可能不足以找到解决方案,但我只知道这些。)

更新 - 更多信息:实际上我也有类似的 CodeBlocks 未定义引用。但是我很懒,所以我只是将所有.dll文件从qt文件夹复制到SysWOW64;程序昨天确实编译并运行了,但是在我今天重新安装 qt 和 codeblocks 后程序因运行时错误而崩溃,即使我也复制了新的 .dll 文件。说清楚一点:如果我将.dll文件复制到SysWOW64,Codeblocks可以编译程序,但现在程序崩溃了,不像昨天程序运行正常。)

更新 - 现在的问题是运行时错误。

最佳答案

好的,让我们在这里回顾一下,停止在评论之后连接评论。

对于你的第一个问题,我们清除了所有之前编译的构建文件夹,只留下需要的文件,即:.cpp 文件、.h/hpp 文件和.pro 文件(以及您可能需要的任何资源文件,本示例不是这种情况)。

然后从终端/cmd 中手动编译您可以构建项目:

qmake.exe -project <PATH_TO_NEEDED_FILES>
qmake
make

现在,关于运行时错误和 Entry Point Not Found 的第二个问题...好吧,我一无所知。谷歌了一下,我发现 Entry Point 错误的最常见原因是 Qt 链接到旧版本的 dll:

Entry Point Error 1

Entry Point Error 2

Entry Point Error 3

在第二个链接中,通过将 Qt 路径设置为 Windows PATH 中的第一个路径解决了问题。也许这有帮助。

希望有更多经验的人能有所帮助!!

关于c++ - Qt程序编译失败/有运行时错误(IDE : CodeBlocks/QtCreator),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13974845/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com