Это исправлено в MinGW-w64 , форке оригинального проекта MinGW, который на самом деле заинтересован в исправлении подобных ошибок. Это было исправлено на g ++ 4.9.2, а может и раньше.
Примечание: для тех, кто приезжает сюда, которые выполнили установку CodeBlocks по умолчанию (которая поставляется со старым, сломанным MinGW) и хотят обновить компилятор, см. Этот ответ .
Вы можете использовать любую сборку MinGW-w64: я использую самоинсталлятор из mingw-builds.org, тогда как в этом ответе используется TDM-GCC-64. Если вам нужна как 64-битная, так и 32-битная компиляция, вам нужно установить и добавить 2 новых компилятора: mingw-w64 64-bit и mingw-w64 32-bit. Он НЕ поддерживает использование одной установки g ++ с переключателем -m32
или -m64
для переключения.