Có lỗi đã biết trong gcc 4.7.2 cho MinGW làm cho con trỏ this
không hợp lệ được chuyển đến hàm ảo trong một số trường hợp liên quan đến thừa kế ảo và không ảo trong cùng một lớp . Chi tiết có trên this Bugzilla page.gcc 4.7.2 lỗi chức năng ảo
Lỗi này đã cắn tôi và tôi cần sửa lỗi cho ứng dụng Qt tôi đang viết. Có một bản vá lỗi trong trang Bugzilla, nhưng làm thế nào để tôi có được một phiên bản làm việc kết hợp với bản vá này? Theo như tôi có thể nói, trang tải xuống GNU chỉ cung cấp phiên bản gốc, lỗi. Và phiên bản tiếp theo của gcc sau 4.7.2 là 4.8.0, mà tôi không thể sử dụng vì nó sẽ không tương thích với các thư viện Qt của tôi.
Tôi có phải xây dựng gcc từ các nguồn sau khi áp dụng bản vá không? Tôi chắc chắn muốn tránh điều đó nếu tôi có thể!
Cách thay thế để sửa trình biên dịch có thể là giải quyết lỗi trong mã của bạn (ví dụ: bằng cách không sử dụng kết hợp các tính năng kích hoạt lỗi). Không biết nếu nó khả thi trong trường hợp của bạn? – NPE
Không, tôi không sợ. Ngay cả xây dựng gcc từ nguồn là một đề xuất hấp dẫn hơn so với: -/ – TonyK
Ouch. Tôi hy vọng bạn tìm thấy một giải pháp dễ dàng (FWIW, tôi nhớ xây dựng 'gcc' một thời gian dài trước đây, và nó đã được khá đau). – NPE