GCC 4.7.2虚函数错误

gcc 4.7.2 virtual function bug

本文关键字:函数 错误 GCC      更新时间:2023-10-16

在MinGW的gcc 4.7.2中有一个已知的错误,在涉及同一类中的虚继承和非虚继承的某些情况下,会导致将无效的this指针传递给虚函数。详细信息在这个Bugzilla页面。

这个bug已经咬了我,我需要为我正在编写的Qt应用程序修复它。Bugzilla页面中有一个补丁,但我如何获得包含该补丁的工作版本?据我所知,GNU下载页面只提供了原始的、有bug的版本。gcc 4.7.2之后的下一个版本是4.8.0,我不能使用它,因为它将与我的Qt库不兼容。

在应用补丁后,我必须从源代码构建gcc吗?如果可以的话,我当然想避免这种情况!

我接受了Haroogan的建议(从源代码重新构建Qt),但使用GCC 4.8.0而不是GCC 4.7.1。它工作!至少,我已经用了三天了,它还没有带来任何惊喜。唯一的故障是GCC 4.8.0中的内在头文件,需要将此补丁应用于它们。除此之外,一切都很顺利(也就是说,只花了我两个晚上)。

更新为添加:我现在注意到调试器的一些问题。所以也许我说得太早了!