тьфу, yikes.
Как вы можете сказать, какой GCC скомпилировал данный двоичный файл? Здесь
извещение о смерти из gcc-4.7.2-1-mingw32.README.txt:
Уведомление о двоичной несовместимости!
C и C ++ ABI изменились в GCC 4.7.0, что означает, что в общем случае вы не можете
связать двоичные файлы, скомпилированные с этой версией компилятора, и
с версиями до GCC 4.7.0. В частности:
Опция -mms-bitfields включена по умолчанию, что означает макет битового поля
следует соглашению компилятора Microsoft.
Функции-члены класса C ++ теперь следуют соглашению о вызовах __thiscall.
Компилятор теперь предполагает, что вызывающая сторона извлекает стек для
неявные аргументы, указывающие на совокупное возвращаемое значение. Это влияет
функции, возвращающие структуры по значению, например, сложный математический тип.