Файл Exe не запускается без QtCreator
Я установил Qt 5.0.1 для Windows 32-bit (MinGW 4.7, 823 МБ)
Затем я создал простое приложение Quick 2 и скомпилировал его. Приложение находится в его папке, а приложение запускается из QtCreator. И я хочу запустить этот exe файл без QtCreator. Для этого я копирую файлы из C:\Qt\Qt5.0.1\5.0.1\mingw47_32\bin:
- Qt5Core.dll
- icuin49.dll
- libgcc_s_sjlj-1.dll
- libwinpthread-1.dll
- libGLESv2.dll
- libstdС++ - 6.dll
- qminimal.dll
- Qt5Gui.dll
- Qt5Network.dll
- Qt5Qml.dll
- Qt5Quick.dll
- Qt5V8.dll
- qwindows.dll
И затем я получаю сообщение об ошибке:
Точка входа в процедуру _ZN6icu_4910CharString15getAppendBufferEiiRiR10UErrorCode не найдена в библиотеке DLL icuuc49.dll
Перевести
Точка входа процедуры _ZN6icu_4910CharString15getAppendBufferEiiRiR10UErrorCode не найдена в библиотеке DLL icuuc49.dll
Если я скопирую exe файл в папку C:\Qt\Qt5.0.1\5.0.1\mingw47_32\bin (где все DLL), программа запускается, но ничего не отображается.
Если я копирую exe файл в папку C:\Qt\Qt5.0.1\Tools\QtCreator\bin (где все DLL), программа не запускается.
Что делать? Где и какие библиотеки запускать программу?
Решено. Окончательный список библиотек из C:\Qt\Qt5.0.1\5.0.1\mingw47_32\bin:
- icuin49.dll
- icuuc49.dll
- libEGL.dll
- libgcc_s_sjlj-1.dll
- libGLESv2.dll
- libstdС++ - 6.dll
- libwinpthread-1.dll
- Qt5Core.dll
- Qt5Gui.dll
- Qt5Network.dll
- Qt5Qml.dll
- Qt5Quick.dll
- Qt5V8.dll
И я забыл добавить папку с qml файлами.
Ответы
Ответ 1
Поместите свой исполняемый файл в нейтральный каталог, как только что созданный для вашего рабочего стола. Затем запустите зависимый ходок. Он покажет вам список отсутствующих библиотек. Для начала Qt5Core.dll
, libgcc_s_sjlj-1.dll
и тот, который вы указали, будет отсутствовать. Вы должны найти их в своей системе и скопировать по одному в этот каталог. Большинство отсутствующих будет в указанном вами каталоге (C:\Qt\Qt5.0.1\5.0.1\mingw47_32\bin
). Если вы не можете найти других, отредактируйте вопрос со списком.
Примечание:
Типы отсутствующих файлов в общем случае:
- Qt-библиотеки. Если Qt был скомпилирован как статический, они не должны появляться
- Различные библиотеки Qt зависят от: OpenSSL, например. Не появляется, если оба Qt и эта библиотека являются статическими
- Библиотеки компилятора: ex, gcc
libgcc_s_sjlj
для OP. Они обычно динамические и их необходимо скопировать, если они еще не находятся в пути поиска библиотеки.
Ответ 2
Я думаю, что вы должны развернуть свой exe файл. Может быть, эта ссылка может быть полезной.
Ответ 3
Добавьте "C:\Qt\Qt5.0.1\5.0.1\mingw47_32\bin" к вашему пути. Затем приложение должно работать.
Ответ 4
Не беспокойтесь о недостающих файлах dll.
поместите ваш .exe файл в папку этого пути: "C:\Qt\Qt5.0.1\5.0.1\mingw47_32\bin"
вы можете запустить файл .exe. он отлично работает.