当我使用qglwidget::rendertext
函数时,我对qt程序中的内存访问错误感到疯狂。我的程序非常简单,我只是一个指针,但崩溃似乎与此无关,因为调用器有时在我调用rendertext时停止,有时当我关闭程序时。我没有经验丰富的c ++程序员,这让我很疯狂。
但我发现了BUG REPORT。它似乎是最近的(Updated: 25/Apr/13 8:47 AM
)并且由于我不知道如何处理这种糟糕的内存访问,我认为值得尝试一下。
解决方案补丁已发布here但我不知道该怎么做..我是否必须重新编译所有qt 4.8?只有opengl部分?我可以避免重新编译一切吗?
答案 0 :(得分:1)
转到编译Qt的目录并更改文件qt/src/opengl/qpaintengine_opengl.cpp
。进行作者所做的更改,或下载作者的文件并将其替换为源目录。将目录更改为主qt目录并运行make
。在执行./configure
之前,请确保不要重新运行make
,否则它将重建整个事情。
make
完成后,运行sudo make install
并将新编译的QPaintEngine
模块放入安装目录。不幸的是,如果您有许多配置(如静态库),我不知道这是否有效,但值得一试。
我已经使用QtMobility中的模块完成了数百次。你还必须记住你现在有一个Frankenstein的怪物Qt版本,当你升级时记得重新修补如果改变没有提交给最新版本。
希望这有帮助。