0

当我使用qglwidget::rendertext函数时,我对 qt 程序中的错误内存访问感到疯狂。我的程序非常简单,我只有一个指针,但崩溃似乎与此无关,因为调试器有时会在我调用 rendertext 时停止,有时在我关闭程序时停止。我不是经验丰富的 C++ 程序员,这让我抓狂。

但我发现了这个错误报告。这似乎是最近的(Updated: 25/Apr/13 8:47 AM),由于我不知道如何处理这种糟糕的内存访问,我认为值得一试。

解决方案补丁贴在这里,但我不知道该怎么做.. 我必须重新编译所有 qt 4.8 吗?只有opengl部分?我可以避免重新编译所有内容吗?

4

1 回答 1

1

转到编译 Qt 的目录并更改文件qt/src/opengl/qpaintengine_opengl.cpp。进行作者所做的更改,或下载作者的文件并将其替换到您的源目录中。将目录切换到主 qt 目录并运行make. ./configure确保在执行之前不要重新运行,make否则它将重建整个事情。

完成make后,运行sudo make install,它会将新编译的QPaintEngine模块放入您的安装目录。不幸的是,如果您有许多配置(如静态库),我不知道这是否可行,但值得一试。

我已经用 QtMobility 中的模块完成了数百次。您还必须记住,您现在拥有 Qt 的 Frankenstein's Monster 版本,并且当您升级时,如果更改未提交到最新版本,请记住重新修补。

希望这可以帮助。

于 2013-05-10T12:30:54.750 回答