Qt5 + MinGW +... C++Redist(?)



  • Qt приложения, скомпиленные MinGW на Win7-x64, по какой то причине выдают ошибку отсутствия VC++ Redist на других машинах. Почему оно так происходит, ведь в данном случае Qt не должен зависеть от этих библиотек?



  • "Здесь":http://stackoverflow.com/questions/7883529/deploying-qt-with-mingw-requires-vc-redistributable это уже обсуждалось. Связано это с самой целью MinGW - компилировать программы зависящие только от самой ОС - Windows, поэтому и требует библиотеки Windows :)))))



  • А как тогда можно распространять приложение? На какую именно сборку Redist оно ссылается? На девелоперской машине как ни странно вообще без него работает. Если пробую положить в папку библиотеки и манифест от 2008 то все равно не хочет грузиться. Приложение должно быть portable потому надо бы минимум зависимостей. Как можно поступить?



  • Могу только посоветовать скачивать в обратном порядке с сайта "Microsoft":http://www.microsoft.com/en-us/download/search.aspx?q=Microsoft+Visual+C++++Redistributable+Package пакеты Microsoft Visual C++ Redistributable Package, устанавливать и проверять работоспособность :-).

    И еще вопрос - какой версией MinGW Вы пользуетесь, случаем не x64?



  • Нет стоит x32. Будем проверять



  • Все довольно печально. Стоит 2008 и 2010 редист на чистой xp. В папке приложения лежат icu dll-ки, Qt-dlls, mingwm10.dll (отсутствовала в сборке MinGW между прочим). Лежат все дллки от qtwebkit. Там же лежит папка plugins из сборки кьюта. И как ни странно все равно выдает ошибку среды выполнения. Собиралось на stable 5.0.1 Win7-x64 (MinGW 32)


    Microsoft Visual C++ Runtime Library

    Runtime Error!

    Program: Z:\SiHVi-e\autorun\sihvi.exe

    This application has requested the Runtime to terminate it in an unusual way.
    Please contact the application's support team for more information.


    ОК



  • Дьявол кроется в деталях...

    Попробуйте проверить Ваш бинарник программой проверки зависимостей, например, Dependency Walker ("сайт":http://www.dependencywalker.com/). Проверьте и на машине на которой Вы вели разработку и на "тестовой".



  • Как ни странно никаких неучтенных зависимостей не кажет. Может сможет кто у себя посмотреть по зависимостям. Я уже потерялся в чем вообще проблема. Может кто сам может глянуть? "ссылка":http://rghost.ru/44360603



  • Мда... тема оказалась вообще из другой оперы. Майкрософт тут не при чем. Вам нужно дополнить Вашу сборку программы еще одной папкой "platforms" - ее нужно взять в директории где установлен Qt (qtbase/plugins/platforms).
    В директории "platforms" следует оставить один файл - qwindows.dll.

    Тема оказывается уже "обсуждалась":http://qt-project.org/forums/viewthread/23658 и решение предложено. :-)

    P/s проверил - все работает.


Log in to reply
 

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.