Название: Запуск ехе-файла
Отправлено: demaker от Апрель 09, 2014, 15:46
Подскажите пожалуйста. Собрал проект взял ехе-файл, перетащил на другую машину. Приложение потребовало файл QtGui4d.dll(файл весит 155 Мб). Можно как-нибудь сделать так, чтобы приложение работало без QtGui4d.dll???
Название: Re: Запуск ехе-файла
Отправлено: Bepec от Апрель 09, 2014, 15:59
О май гад :D Во 1 не используйте дебажные версии. На другую машину кидайте релизную. Собственно это и ответ - в дебаге содержится много отладочной информации. Потому такой размер.
Релизные dll весят около 9 мб :)
Название: Re: Запуск ехе-файла
Отправлено: OKTA от Апрель 09, 2014, 16:11
А во 2? ;D
Название: Re: Запуск ехе-файла
Отправлено: demaker от Апрель 09, 2014, 16:14
Да нет кидаю релизную и требует ???
Название: Re: Запуск ехе-файла
Отправлено: Bepec от Апрель 09, 2014, 16:19
Мдамс) 2) Вы собрали дебажную версию программы. К ней прилинкованы дебажные dll. Ты собери релизную. И будет тебе счастье с релизными dll
Название: Re: Запуск ехе-файла
Отправлено: gil9red от Апрель 09, 2014, 16:49
Да нет кидаю релизную и требует ???
Релизная не потребовала бы dll'ки с суффиксами d (т.е. debug) ( QtGui4d.dll ) =) Вот когда будет требовать QtGui4.dll, тогда это точно релизная )) Да и как писалось выше, дэбажные всегда занимают больше места - и ехе, и dll'ки :)
Название: Re: Запуск ехе-файла
Отправлено: lesav от Апрель 09, 2014, 19:33
Это все баги в QtCreator-е (http://www.prog.org.ru/index.php?topic=26164.msg187331#msg187331)
Название: Re: Запуск ехе-файла
Отправлено: demaker от Апрель 10, 2014, 14:55
"############################################################################# # Makefile for building: MyMTLYNX # Generated by qmake (2.01a) (Qt 4.7.3) on: ?? 10. ??? 15:51:24 2014 # Project: ..\input\MyMTLYNX.pro # Template: app # Command: d:\qtsdk\desktop\qt\4.7.3\mingw\bin\qmake.exe -spec d:\QtSDK\Desktop\Qt\4.7.3\mingw\mkspecs\win32-g++ -o Makefile ..\input\MyMTLYNX.pro #############################################################################
first: debug install: debug-install uninstall: debug-uninstall MAKEFILE = Makefile QMAKE = d:\qtsdk\desktop\qt\4.7.3\mingw\bin\qmake.exe DEL_FILE = del CHK_DIR_EXISTS= if not exist MKDIR = mkdir COPY = copy /y COPY_FILE = $(COPY) COPY_DIR = xcopy /s /q /y /i INSTALL_FILE = $(COPY_FILE) INSTALL_PROGRAM = $(COPY_FILE) INSTALL_DIR = $(COPY_DIR) DEL_FILE = del SYMLINK = DEL_DIR = rmdir MOVE = move CHK_DIR_EXISTS= if not exist MKDIR = mkdir SUBTARGETS = \ debug \ release
debug: $(MAKEFILE).Debug FORCE $(MAKE) -f $(MAKEFILE).Debug debug-make_default: $(MAKEFILE).Debug FORCE $(MAKE) -f $(MAKEFILE).Debug debug-make_first: $(MAKEFILE).Debug FORCE $(MAKE) -f $(MAKEFILE).Debug first debug-all: $(MAKEFILE).Debug FORCE $(MAKE) -f $(MAKEFILE).Debug all debug-clean: $(MAKEFILE).Debug FORCE $(MAKE) -f $(MAKEFILE).Debug clean debug-distclean: $(MAKEFILE).Debug FORCE $(MAKE) -f $(MAKEFILE).Debug distclean debug-install: $(MAKEFILE).Debug FORCE $(MAKE) -f $(MAKEFILE).Debug install debug-uninstall: $(MAKEFILE).Debug FORCE $(MAKE) -f $(MAKEFILE).Debug uninstall release: $(MAKEFILE).Release FORCE $(MAKE) -f $(MAKEFILE).Release release-make_default: $(MAKEFILE).Release FORCE $(MAKE) -f $(MAKEFILE).Release release-make_first: $(MAKEFILE).Release FORCE $(MAKE) -f $(MAKEFILE).Release first release-all: $(MAKEFILE).Release FORCE $(MAKE) -f $(MAKEFILE).Release all release-clean: $(MAKEFILE).Release FORCE $(MAKE) -f $(MAKEFILE).Release clean release-distclean: $(MAKEFILE).Release FORCE $(MAKE) -f $(MAKEFILE).Release distclean release-install: $(MAKEFILE).Release FORCE $(MAKE) -f $(MAKEFILE).Release install release-uninstall: $(MAKEFILE).Release FORCE $(MAKE) -f $(MAKEFILE).Release uninstall
Makefile: ../input/MyMTLYNX.pro d:/QtSDK/Desktop/Qt/4.7.3/mingw/mkspecs/win32-g++/qmake.conf d:/QtSDK/Desktop/Qt/4.7.3/mingw/mkspecs/qconfig.pri \ d:/QtSDK/Desktop/Qt/4.7.3/mingw/mkspecs/modules/qt_webkit_version.pri \ d:/QtSDK/Desktop/Qt/4.7.3/mingw/mkspecs/features/qt_functions.prf \ d:/QtSDK/Desktop/Qt/4.7.3/mingw/mkspecs/features/qt_config.prf \ d:/QtSDK/Desktop/Qt/4.7.3/mingw/mkspecs/features/exclusive_builds.prf \ d:/QtSDK/Desktop/Qt/4.7.3/mingw/mkspecs/features/default_pre.prf \ d:/QtSDK/Desktop/Qt/4.7.3/mingw/mkspecs/features/win32/default_pre.prf \ d:/QtSDK/Desktop/Qt/4.7.3/mingw/mkspecs/features/debug.prf \ d:/QtSDK/Desktop/Qt/4.7.3/mingw/mkspecs/features/debug_and_release.prf \ d:/QtSDK/Desktop/Qt/4.7.3/mingw/mkspecs/features/default_post.prf \ d:/QtSDK/Desktop/Qt/4.7.3/mingw/mkspecs/features/win32/default_post.prf \ d:/QtSDK/Desktop/Qt/4.7.3/mingw/mkspecs/features/win32/rtti.prf \ d:/QtSDK/Desktop/Qt/4.7.3/mingw/mkspecs/features/win32/exceptions.prf \ d:/QtSDK/Desktop/Qt/4.7.3/mingw/mkspecs/features/win32/stl.prf \ d:/QtSDK/Desktop/Qt/4.7.3/mingw/mkspecs/features/shared.prf \ d:/QtSDK/Desktop/Qt/4.7.3/mingw/mkspecs/features/warn_on.prf \ d:/QtSDK/Desktop/Qt/4.7.3/mingw/mkspecs/features/qt.prf \ d:/QtSDK/Desktop/Qt/4.7.3/mingw/mkspecs/features/win32/thread.prf \ d:/QtSDK/Desktop/Qt/4.7.3/mingw/mkspecs/features/moc.prf \ d:/QtSDK/Desktop/Qt/4.7.3/mingw/mkspecs/features/win32/windows.prf \ d:/QtSDK/Desktop/Qt/4.7.3/mingw/mkspecs/features/resources.prf \ d:/QtSDK/Desktop/Qt/4.7.3/mingw/mkspecs/features/uic.prf \ d:/QtSDK/Desktop/Qt/4.7.3/mingw/mkspecs/features/yacc.prf \ d:/QtSDK/Desktop/Qt/4.7.3/mingw/mkspecs/features/lex.prf \ d:/QtSDK/Desktop/Qt/4.7.3/min gw/mkspecs/features/include_source_dir.prf \ d:/QtSDK/Desktop/Qt/4.7.3/mingw/lib/qtmaind.prl $(QMAKE) -spec d:\QtSDK\Desktop\Qt\4.7.3\mingw\mkspecs\win32-g++ -o Makefile ..\input\MyMTLYNX.pro d:\QtSDK\Desktop\Qt\4.7.3\mingw\mkspecs\qconfig.pri: d:\QtSDK\Desktop\Qt\4.7.3\mingw\mkspecs\modules\qt_webkit_version.pri: d:\QtSDK\Desktop\Qt\4.7.3\mingw\mkspecs\features\qt_functions.prf: d:\QtSDK\Desktop\Qt\4.7.3\mingw\mkspecs\features\qt_config.prf: d:\QtSDK\Desktop\Qt\4.7.3\mingw\mkspecs\features\exclusive_builds.prf: d:\QtSDK\Desktop\Qt\4.7.3\mingw\mkspecs\features\default_pre.prf: d:\QtSDK\Desktop\Qt\4.7.3\mingw\mkspecs\features\win32\default_pre.prf: d:\QtSDK\Desktop\Qt\4.7.3\mingw\mkspecs\features\debug.prf: d:\QtSDK\Desktop\Qt\4.7.3\mingw\mkspecs\features\debug_and_release.prf: d:\QtSDK\Desktop\Qt\4.7.3\mingw\mkspecs\features\default_post.prf: d:\QtSDK\Desktop\Qt\4.7.3\mingw\mkspecs\features\win32\default_post.prf: d:\QtSDK\Desktop\Qt\4.7.3\mingw\mkspecs\features\win32\rtti.prf: d:\QtSDK\Desktop\Qt\4.7.3\mingw\mkspecs\features\win32\exceptions.prf: d:\QtSDK\Desktop\Qt\4.7.3\mingw\mkspecs\features\win32\stl.prf: d:\QtSDK\Desktop\Qt\4.7.3\mingw\mkspecs\features\shared.prf: d:\QtSDK\Desktop\Qt\4.7.3\mingw\mkspecs\features\warn_on.prf: d:\QtSDK\Desktop\Qt\4.7.3\mingw\mkspecs\features\qt.prf: d:\QtSDK\Desktop\Qt\4.7.3\mingw\mkspecs\features\win32\thread.prf: d:\QtSDK\Desktop\Qt\4.7.3\mingw\mkspecs\features\moc.prf: d:\QtSDK\Desktop\Qt\4.7.3\mingw\mkspecs\features\win32\windows.prf: d:\QtSDK\Desktop\Qt\4.7.3\mingw\mkspecs\features\resources.prf: d:\QtSDK\Desktop\Qt\4.7.3\mingw\mkspecs\features\uic.prf: d:\QtSDK\Desktop\Qt\4.7.3\mingw\mkspecs\features\yacc.prf: d:\QtSDK\Desktop\Qt\4.7.3\mingw\mkspecs\features\lex.prf: d:\QtSDK\Desktop\Qt\4.7.3\mingw\mkspecs\features\include_source_dir.prf: d:\QtSDK\Desktop\Qt\4.7.3\mingw\lib\qtmaind.prl: qmake: qmake_all FORCE @$(QMAKE) -spec d:\QtSDK\Desktop\Qt\4.7.3\mingw\mkspecs\win32-g++ -o Makefile ..\input\MyMTLYNX.pro
qmake_all: FORCE
make_default: debug-make_default release-make_default FORCE make_first: debug-make_first release-make_first FORCE all: debug-all release-all FORCE clean: debug-clean release-clean FORCE distclean: debug-distclean release-distclean FORCE -$(DEL_FILE) Makefile
check: first
debug-mocclean: $(MAKEFILE).Debug $(MAKE) -f $(MAKEFILE).Debug mocclean release-mocclean: $(MAKEFILE).Release $(MAKE) -f $(MAKEFILE).Release mocclean mocclean: debug-mocclean release-mocclean
debug-mocables: $(MAKEFILE).Debug $(MAKE) -f $(MAKEFILE).Debug mocables release-mocables: $(MAKEFILE).Release $(MAKE) -f $(MAKEFILE).Release mocables mocables: debug-mocables release-mocables FORCE:
$(MAKEFILE).Debug: Makefile $(MAKEFILE).Release: Makefile
А что означает, выше приведенный текст в консоле, при запуске приложения?
Название: Re: Запуск ехе-файла
Отправлено: QPeter от Апрель 12, 2014, 22:31
А если просит Qt5Core.dll что делать?)
Название: Re: Запуск ехе-файла
Отправлено: Vamireh от Апрель 12, 2014, 22:40
А если просит Qt5Core.dll что делать?)
Один из следующих вариантов: 1) Прописать в переменную PATH путь до папки bin (там где эта Qt5Core.dll лежит) 2) Положить ее в папку с екзешником 3) Пересобрать Qt с ключом -static и забыть про зависимости от dll
Название: Re: Запуск ехе-файла
Отправлено: QPeter от Апрель 12, 2014, 23:25
Ну когда прописываешь PATH выдает что отсутствует libgcc_s_dw2-1.dll
Если положить её в файл с экзешником он будет просить ещё порядка 20 других dll файлов и в итоге всё равно выдаст какую то ошибку. Делал так, не помню уже что он писал, но проект был сломан и потом не собирался даже их Creator(a).
А ключ static- это как?) ::)
Название: Re: Запуск ехе-файла
Отправлено: gil9red от Апрель 13, 2014, 02:49
Ну когда прописываешь PATH выдает что отсутствует libgcc_s_dw2-1.dll
Прописать туда же путь к папке с компилятором (у меня это D:\MinGW\bin)
Название: Re: Запуск ехе-файла
Отправлено: QPeter от Апрель 14, 2014, 01:34
Прописать туда же путь к папке с компилятором (у меня это D:\MinGW\bin) Закинул и как то не помогло.( Вообще желателен такой способ при котором приложение будет запускаться и на других ПК.)
Название: Re: Запуск ехе-файла
Отправлено: OKTA от Апрель 14, 2014, 09:54
Запускаешь и кидаешь в папочку с exe все файлы, которые он попросит. А попросит он только то, что ты использовал в проекте - ничего лишнего. Ну или как уже посоветовали, собрать Qt статически, чтобы все библиотеки зашивались в exe-файл, а как это сделать, поищите в поиске, эту тему мусолили 100500 раз уже.
Название: Re: Запуск ехе-файла
Отправлено: Old от Апрель 14, 2014, 09:56
Запускаешь и кидаешь в папочку с exe все файлы, которые он попросит. А попросит он только то, что ты использовал в проекте - ничего лишнего.
Ну конечно, а плагины? :)
|