Недавно построенный Cppcheck-GUI просто вылетает

У меня есть некоторые проблемы с неправильным Qt, неправильным MinGW, неправильным путем QtCore4.dll при сборке графического интерфейса Cppcheck, но в итоге он превратился в исполняемый файл, который просто вылетает при запуске.

Разборка для проблемного места выглядит так:

 mov         eax,12Fh
xor         ecx,ecx
lea         edx,[esp+4]
call        dword ptr fs:[0C0h]
add         esp,4
ret         0Ch

Похоже, что происходит сбой при попытке вызвать что-то статически связанное. Еще одна вещь, которая кажется мне странной: исполняемый файл составляет около 30 МБ против 500 КБ в версии, которую я установил из загруженного .msi. Это просто должно быть неправильно построено.

Я использую последние источники из Github, Qt 4.8.5 (версия mingw), хотя сам взял MinGW из Qt 5.1.1. и все это происходит в Windows, если это имеет значение. Я просто запускаю «build.bat all debug» — и все. Итак, что я делаю не так в этот раз?

4

Решение

Официальный Qt 4.8.5 был собран с использованием GCC 4.4. страница загрузок перечисляет это как «Библиотеки Qt 4.8.5 для Windows (minGW 4.4, 317 МБ). Однако MinGW, предоставляемый с Qt 5.1.1, содержит GCC 4.8, который несовместим с библиотеками, созданными с GCC 4.4. Симптомами несоответствия версий GCC являются странные сбои, как то, что вы видите.

Ваши варианты (от самых простых до самых сложных):

  • Создайте свою программу, используя MinGW 4.4 (кто-то любезно размещает копию на http://nosymbolfound.blogspot.com.au/2012/12/since-until-now-qt-under-windows-is.html), ИЛИ ЖЕ
  • Соберите Qt 4.8 из исходного кода самостоятельно, используя вашу версию MinGW, ИЛИ
  • Портируйте программу на Qt 5
1

Другие решения

Других решений пока нет …