Название: Полный релиз программы на QT Отправлено: Anton от Июль 03, 2005, 15:43 При написании программы на QT в среде VS2003 возникла проблема: как
собрать программу так, чтобы на другом компьютере не спрашивалось dll-ек никаких. При включении runtime library single-threaded линкер выдает ошибку unresolved symbol error Название: Полный релиз программы на QT Отправлено: Zigmar от Июль 03, 2005, 21:04 "runtime library single-threaded" к делу отношения не имеет. Это только версия стандартной библиотеке с которой линковаться. Лучше всего выбирать (debug) multithreaded dll.
А тебе нужно забилдить qt как статичную библиотеку, и линковаться с ней. Название: Полный релиз программы на QT Отправлено: Anton от Июль 03, 2005, 21:57 При установки этой опции во время инсталляции qt выводится предупреждение о том что в случае компилирования в статической библиотеке теряется функциональность (плагины и пр.) Что именно теряется? Что изменяется?
Название: Полный релиз программы на QT Отправлено: Admin от Июль 04, 2005, 10:09 отсутсвуют плагины
дизайнер становится неполноценным так что лучше статтическую либу собрать и рядом положить на всякий случай Название: Полный релиз программы на QT Отправлено: Ace-X от Июль 04, 2005, 11:22 Есть еще такой хороший вариант как Thinstall (http://www.thinstall.com), MoleBox (http://www.molebox.com) и другие похожие программки, которые пакуют основной exe-шник со всеми необходимыми файлами (включая dll) вместе.
Название: Полный релиз программы на QT Отправлено: Night_Light_8 от Январь 02, 2006, 23:35 Цитировать собрать программу так, чтобы на другом компьютере не спрашивалось dll-ек никаких. Где по этому вопросу подробную инфу можно найти. Можете тыкнуть место в документации. QT 4.0.1 Название: Полный релиз программы на QT Отправлено: Namelles One от Январь 04, 2006, 21:31 Я немного не понимаю...
А что за DLL файл тогда создается при сборке проги с параметром libdll ? Название: Полный релиз программы на QT Отправлено: Night_Light_8 от Январь 04, 2006, 23:02 Цитировать А что за DLL файл тогда создается при сборке проги с параметром libdll Мне это как раз и нужно. Что и где писать чтобы получить нужное при сборке. Где подробную инфу по этому вопросу можно найти? Название: Полный релиз программы на QT Отправлено: joktar от Январь 05, 2006, 03:20 Цитата: "Ace-X" Есть еще такой хороший вариант как Thinstall (http://www.thinstall.com), MoleBox (http://www.molebox.com) и другие похожие программки, которые пакуют основной exe-шник со всеми необходимыми файлами (включая dll) вместе. где брать можно поглдеть на Thinstall вживую не подскажеш? (MoleBox - уже нашел) Название: Полный релиз программы на QT Отправлено: Ace-X от Январь 05, 2006, 12:34 Цитата: "joktar" где брать можно поглдеть на Thinstall вживую не подскажеш? (MoleBox - уже нашел) На Ru-Board. Только читай внимательно последний пост в ветке про Thinstall. Я бы остановился на MoleBox. Название: Полный релиз программы на QT Отправлено: Namelles One от Январь 08, 2006, 19:10 Вообще-то лучший считается Nullsoft installer, так как Trolltech его сама юзает...
Только там вручную надо dll вместе собрат,ь но это - уже не сложно... Название: Полный релиз программы на QT Отправлено: Admin от Январь 08, 2006, 19:25 Я тоже Nullsoft installer пользую!
Название: Полный релиз программы на QT Отправлено: Mikhail от Январь 11, 2006, 21:41 Не надо собирать DLL вместе и плясать с бубном. Необходимо собрать свою программу статически и без debug.
Для этого скомпилируй Qt с опциями static и release. А Nullsoft installer очень приличная вещь. Название: Полный релиз программы на QT Отправлено: Night_Light_8 от Январь 11, 2006, 21:52 всё таки где подробную инфу то найти можно по этому делу? :)
Название: Полный релиз программы на QT Отправлено: Mikhail от Январь 12, 2006, 18:24 Читай внимательно документацию. У Троллей ее много, написана подробно и доходчиво.
Желательно иметь на компьютере различные компоновки Qt. 1. Для разработки shared + debug 2. Для окончательной сборки static + release. Могут быть и другие варианты. Собрать их легко, пользуясь configure, который покажет все свои опции по -h, а их у него много, на все случаи жизни. Успехов. :D Название: Полный релиз программы на QT Отправлено: joktar от Январь 12, 2006, 18:43 C Nullsoft Installer'ом все просто:
качается дистрибутив, из него выдирается каталог Stubs и makensis(w): затем делается конфиг наподобие: (конфиг сделан для создания инсталлятор debug-версии написанной на qt4 программы, кое что оторвано) ;NSIS X3D R2 Installer script ;Also Template script for X3D Toolkit-based programs ;(c) Dmitriy Kazimirow 2005 ;TODO:Add contact URL,etc to Add/Remove programs ;TODO:Make Qt-based configuration reader for settings made via installer ;Planned solution:use QSettings,which could read HKML <Developer> \ <Program> ;-------------------------------- ;Slow but maximal compression ;4,479 Kb install size ;SetCompressor /SOLID lzma ;DEFINES += X3D_VER=\"0.21\" OGIS_T_VER=\"0.60\" ; The name of the installer Name "X3D Alpha 3(X3D Toolkit R2 v0.30,Codename Talia)" ; The file to write OutFile "x3dr2_v030_talia_app_installer.exe" ; The default installation directory InstallDir "$PROGRAMFILES\Dmitriy Kazimirow\X3D Toolkit\X3DR2" ; Registry key to check for directory (so if you install again, it will ; overwrite the old one automatically) InstallDirRegKey HKLM "Software\Dmitriy Kazimirow\X3D Toolkit\X3DR2" "Install_Dir" BrandingText "X3D Toolkit Release 2(v0.30 Codename Talia) - based app" Caption "Установка приложения на базе X3D R2 v0.30" InstallButtonText "Установка" XPStyle on ;-------------------------------- ; Pages Page components Page directory Page instfiles UninstPage uninstConfirm UninstPage instfiles ;-------------------------------- ; The stuff to install ; Сама программа PCT Section "Core" SetOutPath $INSTDIR File ..\debug\x3dr2_msvc_dbg.exe File ..\docs\license.txt ; Write the installation path into the registry WriteRegStr HKLM "Dmitriy Kazimirow\X3D Toolkit\X3DR2" "Install_Dir" "$INSTDIR" ; Куда установлен X3DR2 Toolkit WriteRegStr HKCU "Software\Dmitriy Kazimirow\OrganizationDefaults" "X3DR2_InstallDir" "$INSTDIR" ; Write the uninstall keys for Windows WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\DKZM_X3DR2" "DisplayName" "X3D R2 Based-app" WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\DKZM_X3DR2" "UninstallString" '"$INSTDIR\uninstall.exe"' WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\DKZM_X3DR2" "NoModify" 1 WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\DKZM_X3DR2" "NoRepair" 1 WriteUninstaller "uninstall.exe" ; WriteRegStr HKCU "Software\Dmitriy Kazimirow\X3D R2-based app\GlobalConfiguration" "Username" "Дмитрий Казимиров" WriteRegStr HKCU "Software\Dmitriy Kazimirow\X3D R2-based app\GlobalConfiguration" "Organization" "Персональная лицензия разработчика" WriteRegStr HKCU "Software\Dmitriy Kazimirow\X3D R2-based app\GlobalConfiguration" "LicenseKey" "4V5B-NM4B-N364-12NM-485N-B5NQ-46NM-982N-1BN8-BN94" WriteRegStr HKLM "Software\Dmitriy Kazimirow\X3D Toolkit\Licensing" "Customer" "Дмитрий Казимиров" ;Better use something like IMS here,this is versions! ;Here Versions are: ;1-This version(X3D_VER=0.20 OGIS_T_VER=0.45) ;2- ;3-PTC,Beta1,Codename Xanth,X3D_VER=0.21 OGIS_T_VER=0.60,20.10.2005 ;4-PTC,Beta2,Codename Dahak,X3D_VER=0.21 OGIS_T_VER=0.60,14.10.2005 ;Отличие-ставится нормально ;5-X3D R2,v0.30,X3D_VER=0.30,19.11.2005,шаблон для X3D R2 ;6-PTC,Beta3,Codename Asturia,X3D_VER=0.21 OGIS_T_VER=0.60,19.11.2005 ;TODO:разделить версии X3D Toolkit и самих программ ;Можно будет сделать когда наконец то будет решено что куда входит ;И сделан X3D Toolkit SDK WriteRegDWORD HKLM "Software\Dmitriy Kazimirow\X3D Toolkit" "InstalledVersion" 5 SectionEnd ;Both Qt/QSA and X3D Toolkit ;Not ALL of them are needed for PCT but install anyway ;SideNote:Mingw version of OpenNURBS does not links dynamically Section "Библиотеки поддержки" SetOutPath $INSTDIR File ..\redist\msvcp71d.dll File ..\redist\msvcr71d.dll File ..\redist\msvcp71.dll File ..\redist\msvcr71.dll File ..\redist\QtCored4.dll File ..\redist\QtNetworkd4.dll File ..\redist\qsad1.dll File ..\redist\QtGuid4.dll File ..\redist\QtOpenGLd4.dll File ..\redist\Qt3Supportd4.dll File ..\redist\QtSqld4.dll File ..\redist\QtXmld4.dll File ..\debug\opennurbs_d.dll SectionEnd Section "Драйвера СУБД" SetOutPath $INSTDIR\plugins\sqldrivers File ..\redist\plugins\sqldrivers\qsqlited.dll File ..\redist\plugins\sqldrivers\qsqlmysqld.dll File ..\redist\plugins\sqldrivers\qsqlodbcd.dll File ..\redist\plugins\sqldrivers\qsqlpsqld.dll SectionEnd Section "Графические форматы" SetOutPath $INSTDIR\plugins\imageformats File ..\redist\plugins\imageformats\qjpegd1.dll SectionEnd Section "Accessibility" SetOutPath $INSTDIR\plugins\accessible File ..\redist\plugins\accessible\qtcompatwidgetsd1.dll File ..\redist\plugins\accessible\qtwidgetsd1.dll SectionEnd ; Optional section (can be disabled by the user) Section "Ярлыки главного меню" ; НЕ писать имя разработчика не очень хорошо но не надо слишком явно провоцировать CreateDirectory "$SMPROGRAMS\X3D R2(X3D v0.30,Codename Talia)" CreateShortCut "$SMPROGRAMS\X3D R2\Удаление X3D R2-based application(X3D v0.30,Codename Talia).lnk" "$INSTDIR\uninstall.exe" "" "$INSTDIR\uninstall.exe" 0 CreateShortCut "$SMPROGRAMS\X3D R2\X3D R2-based app(X3D v0.30,Codename Talia.lnk" "$INSTDIR\x3dr2_msvc_dbg.exe" "" "$INSTDIR\ogis_t_msvc_dbg.exe" 0 CreateShortCut "$SMPROGRAMS\X3D R2\Лицензия на X3D R2-based app(X3D v0.30,Codename Talia.lnk" "$INSTDIR\license.txt" "" "$INSTDIR\license.txt" 0 SectionEnd ; Uninstaller Section "Uninstall" ; Remove registry keys DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\DKZM_X3DR2" DeleteRegKey HKLM "Dmitriy Kazimirow\X3D Toolkit\X3DR2" ; Remove plugins and their dirs Delete $INSTDIR\plugins\accessible\qtcompatwidgetsd1.dll Delete $INSTDIR\plugins\accessible\qtwidgetsd1.dll RMDir $INSTDIR\\plugins\\accessible Delete $INSTDIR\plugins\imageformats\qjpegd1.dll RMDir $INSTDIR\\plugins\\imageformats Delete $INSTDIR\plugins\sqldrivers\qsqlplsqld.dll Delete $INSTDIR\plugins\sqldrivers\qsqlmysqld.dll Delete $INSTDIR\plugins\sqldrivers\qsqlsqlited.dll Delete $INSTDIR\plugins\sqldrivers\qsqlodbcd.dll RMDir $INSTDIR\\plugins\\sqldrivers RMDir $INSTDIR\\plugins ; Remove support libs Delete $INSTDIR\qsad1.dll Delete $INSTDIR\Qt3Supportd4.dll Delete $INSTDIR\QtOpenGLd4.dll Delete $INSTDIR\QtNetworkd4.dll Delete $INSTDIR\QtNetwork4.dll Delete $INSTDIR\QtSqld4.dll Delete $INSTDIR\QtGuid4.dll Delete $INSTDIR\QtXmld4.dll Delete $INSTDIR\QtCored4.dll Delete $INSTDIR\QtCore4.dll Delete $INSTDIR\opennurbs_d.dll Delete $INSTDIR\msvcp71d.dll Delete $INSTDIR\msvcr71d.dll Delete $INSTDIR\msvcp71.dll Delete $INSTDIR\msvcr71.dll ; Remove files and uninstaller Delete $INSTDIR\x3dr2_msvc_dbg.exe Delete $INSTDIR\license.txt Delete $INSTDIR\uninstall.exe ; Remove shortcuts, if any Delete "$SMPROGRAMS\X3D R2(X3D v0.30,Codename Talia)\*.*" ; Remove directories used RMDir "$SMPROGRAMS\3D R2(X3D v0.30,Codename Talia)" RMDir "$INSTDIR" SectionEnd и компилируется:makensis(w) file.nsi, после чего имеем маленький красивый инсталлер. Название: Полный релиз программы на QT Отправлено: npopok от Май 24, 2006, 16:35 Ну qtшные дллки мне подсоединить удалось, но теперь он ругается на отсутствие msvcr71.dll Как с этим быть?
Название: Полный релиз программы на QT Отправлено: Grigory от Июнь 01, 2006, 09:13 пользоваться линуксом :)
Название: Полный релиз программы на QT Отправлено: Admin от Июнь 01, 2006, 10:37 таскать ее с собой!
она у тебя где то в C:\WINDOWS\SYSTEM32\ Название: Полный релиз программы на QT Отправлено: ElderOrb от Июнь 01, 2006, 10:46 Почему бы не сделать так как это описано здесь: http://qtnode.net/wiki/Qt4_with_Visual_Studio_and_static_C_runtime. После чего полученный экзешник сжать upx-ом. Получится около 1.7 мег экзешничек, зато без депендансов ваще.
Название: Полный релиз программы на QT Отправлено: Anchorite от Июнь 01, 2006, 21:07 Почитай ветку по
http://prog.org.ru/forum/topic_3090_413010658d7af162c98bcefba4935119.html Помоему даны исчерпывающие ответы |