Эта проблема зависит от того, что ваша программа не может загружать свои зависимости, копировать файлы зависимостей (файлы DLL) в каталог приложений - это временный путь, это очень рискованный способ, с которым ваше приложение может столкнуться с проблемами на целевой машине, если на целевом компьютере не установлена правильная версия Microsoft Runtime Library, приложение не может работать правильно, вы можете найти, какие зависимости (файлы DLL) вам нужны для вашего приложения с помощью Dependency Walker.
Есть два способа решить эту проблему:
Первой заключается в использовании Microsoft Visual C++ 2010 Runtime компоненты в InstallShield (или другая версия зависит от версии библиотеки времени выполнения скомпилирована с ним), что пользователь может установить его молча, или установить его исполняемый двоичный файл без использования installshield, а затем скопировать файлы DLL в каталог приложения и распространить его.
Во-вторых, используется статический метод компиляции, чтобы избежать подобных проблем, но для статической компиляции вашего приложения вам требуется коммерческая лицензия, если вы хотите распространять ее на целевых машинах.
Для развертывания приложения на целевых машинах:
1) Поместите Microsoft Visual C++ 2010 Runtime библиотеку в папку приложения, так что пользователь будет установить его на своей машине.
2) Копирование приложения требуются зависимости (DLL files
) из Qt's bin
папки в папке приложения (путь bin
папку: C:\Qt\Qt5.0.2\5.0.2\msvc2010\bin
).
3) Скопируйте папку imageformats
из папки Qt's plugins
в папку приложения (если вы используете какой-либо файл ресурсов изображения в своем приложении).
4) Скопируйте platforms
папку из папки Qt's plugins
в папку с вашим приложением.
путь к папке плагинов Qt:. C:\Qt\Qt5.0.2\5.0.2\msvc2010\plugins\
Какие ошибки вы получаете? Что говорит хормейстер зависимости от вашего «внешнего» QtCreator? –
Во-первых, у меня были ошибки «пропавших dll», но, как я их добавил, у меня больше нет сообщения об ошибке, я просто ничего не делаю :( – Darkiwi
это сбой во время запуска? –