2013-05-10 79 views
0

當我使用qglwidget::rendertext函數時,我在qt程序中遇到內存訪問不良而發瘋。我的程序非常簡單,我只有一個指針,但崩潰似乎並沒有涉及到,因爲當我調用rendertext時調試器有時會停止,有時當我關閉程序時。我沒有經驗的C++程序員,這讓我瘋狂。如何使用修復bug的修補程序

但我找到了這個BUG REPORT。它似乎最近(Updated: 25/Apr/13 8:47 AM),並且由於我不知道如何處理這個不好的內存訪問,我認爲它值得嘗試一下。

解決補丁發佈here但我不知道該怎麼做..我一定要重新編譯所有QT 4.8?只有opengl的一部分?我可以避免重新編譯一切嗎?

回答

1

前往您編譯Qt和更改文件qt/src/opengl/qpaintengine_opengl.cpp的目錄。進行作者所做的更改,或下載作者的文件並將其替換到源目錄中。將目錄切換到主qt目錄並運行make。在做make之前一定不要重新運行./configure,否則它會重建整個事情。

make完成後,運行sudo make install,它會將新編譯的QPaintEngine模塊放到您的安裝目錄中。不幸的是,如果你有很多配置(比如靜態庫),我不知道這是否會起作用,但是值得一試。

我已經用QtMobility中的模塊做過數百次了。你還必須記住,你現在有一個科學怪人的Qt Monster版本,當你升級的時候記得要重新修補,如果這個修改沒有被提交給最新版本的話。

希望這會有所幫助。