Russian Qt Forum

Qt => Вопросы новичков => Тема начата: demaker от Июнь 18, 2013, 14:08



Название: QWT
Отправлено: demaker от Июнь 18, 2013, 14:08
Проблема в запуске исполняемого файла проекта.(см. файл)
В Creatore  нормально запускается все.




Название: Re: QWT
Отправлено: popper от Июнь 18, 2013, 14:50
В QCreator известен путь к qwt.dll
Варианты:
1.прописать этот путь один раз в переменной PATH среды окружения
2.скопировать qwt.dll в папку приложения или, на худой конец, в системную папку
3.Запускать приложение из bat-файла следующего содержания:
Код
DOS
set QWT_PATH=<path_to_qwt.dll>
set PATH=%QWT_PATH%;%PATH%
start <your_app.exe>
 



Название: Re: QWT
Отправлено: demaker от Июнь 18, 2013, 15:10
М-м-м,что-то не помогает пока


Название: Re: QWT
Отправлено: demaker от Июнь 18, 2013, 15:53
Не могу понять, другие проекты тоже не запускаются.
Но пишет, что проблема в mignmw10.dll.
Прописал ее в PATH, но не помогает.


Название: Re: QWT
Отправлено: Bepec от Июнь 18, 2013, 15:56
Ответ - у вас не находит dll.

Выход - кинуть в папку с программой.
Выход - прописать переменные среды в windows. (в консоли прописывать не поможет, ибо на один только сеанс).
Выход - пнуть программу.


Название: Re: QWT
Отправлено: demaker от Июнь 19, 2013, 09:59
И кидал в папку с программой и прописывал в PATH не помогает ???
Опять хрень вылезает какая-то.


Название: Re: QWT
Отправлено: popper от Июнь 19, 2013, 12:45
qwt должен быть собран с той же версией qt, что и сам проект


Название: Re: QWT
Отправлено: demaker от Июнь 19, 2013, 14:07
C qwt я разобрался

добавляю теперь mingwm10.dll
он другую затем dll просит -> добавляю и т.д, а после выдает
(см. файл)


Название: Re: QWT
Отправлено: popper от Июнь 19, 2013, 14:11
Еще раз предлагаю проверить, что QCored4.dll, которая лежит в папке debug, совпадает с той, которая использовалась для сборки qwt и Вашего приложения

Точнее QGuid4.dll


Название: Re: QWT
Отправлено: Bepec от Июнь 20, 2013, 09:39
Ответ - у вас не та версия dll загружается.

Выход - кинуть в папку с программой именно те DLL с которым она собирается.
Выход - посмотреть переменные среды в windows. Возможно программа по путям подтягивается неправильные версии.
Выход - пнуть программу.


Название: Re: QWT
Отправлено: demaker от Июнь 20, 2013, 13:02
Все разобрался

Чтобы работал exe-файл на другом компе.
нужно было кинуть в папку где лежит exe-файл еще:

1. mingwm10.dll
2. libgcc_s_dw2-1.dll
3. QtCored4.dll
4. QtGuid4.dll
5. QtSvgd4.dll

Всем спасибо за помощь


Название: Re: QWT
Отправлено: popper от Июнь 20, 2013, 14:33
Лучше на сторону отдавать release-сборку программы, тогда зависимость будет от библиотек:
QtCore4.dll
QtGui4.dll
QtSvg4.dll
т.е. без буквы d в названии.
Они кроме всего прочего еще и весят меньше debug-версий


Название: Re: QWT
Отправлено: demaker от Июнь 20, 2013, 16:07
Спасибо :)


Название: Re: QWT
Отправлено: Alex Custov от Июнь 20, 2013, 16:09
всё это расписано в документации https://qt-project.org/doc/qt-4.8/deployment-windows.html и обсуждалось много раз, но кто читает документацию.


Название: Re: QWT
Отправлено: demaker от Июнь 20, 2013, 16:11
Скажите, как мне узнать мой QtSDK может работать с 64-битной ОС или нет?


Название: Re: QWT
Отправлено: popper от Июнь 20, 2013, 17:30
Установить на 64-битной ОС и проверить


Название: Re: QWT
Отправлено: Bepec от Июнь 20, 2013, 18:07
Создаём проект под x64. При компиляции (в VS) Qt само взревёт раненным зверем, если x64 не поддерживает :D


Название: Re: QWT
Отправлено: demaker от Июнь 21, 2013, 10:54
Создаём проект под x64. При компиляции (в VS) Qt само взревёт раненным зверем, если x64 не поддерживает :D

А возможен, такой вариант.
Что проект собранный на SDK c mingw32, ОС 64-битная, работает, но через некоторое время при эксплуатации вылетает???


Название: Re: QWT
Отправлено: Bepec от Июнь 21, 2013, 10:56
НЕЕЕЕТ!!! :D

На деле - всё возможно.

А есть ещё возможность в гонке потоков, чтении мусора, отсутствию проверок входных данных :D


Название: Re: QWT
Отправлено: demaker от Июнь 21, 2013, 11:10
НЕЕЕЕТ!!! :D

На деле - всё возможно.

А есть ещё возможность в гонке потоков, чтении мусора, отсутствию проверок входных данных :D

Просто на одной машине стоит win7 32-битная c QtSDK mingw32 прога работает и не вылетает.
А на другой win7 64-битная c QtSDK mingw32 и вылетает.
Просто переписывать не хочется все.
Вроде явных ошибок в коде не нахожу.


Название: Re: QWT
Отправлено: Alex Custov от Июнь 21, 2013, 14:30
Вроде явных ошибок в коде не нахожу.

но они есть


Название: Re: QWT
Отправлено: popper от Июнь 21, 2013, 14:40
Как быстро вылетает программа после запуска.
Если QtSDK на 64 стоит, можно запустить дебаггер