Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Программа в один файл
Форум на CrossPlatform.RU > Библиотеки > Qt > Qt Общие вопросы
RazrFalcon
Тема не новая и не раз уже и сам ее встречал но так ничего путнего из этого не вышло.
После компиляции у меня еще 5 dll нужно таскать с релизом + мой файл текстовый
1. Как это все впихнуть в один ехе?
2. Пробовал .тхт в ресурсы пихать но оно его не перезаписывает, возможно ли это вообще? С помощью UPX сжал все, но все равно 5 мб выходит. 7 файлов в папке, не очень надежно, так как пользователь может что то случайно удалить и се. В конце-концов остальные проги же "однофайловые", по крайней мере c++ builder делал мне 1-н переносимый .ехе и всего 1Мб (этаже прога что пишу на qt) <_<
Litkevich Yuriy
лучше сразу забить или уйти от Qt, для неё это не решаемая задача в общем случае.
RazrFalcon
Цитата(Litkevich Yuriy @ 28.5.2010, 17:08) *
лучше сразу забить или уйти от Qt, для неё это не решаемая задача в общем случае.

Почему это, ведь находил не раз что жалуются что мол .ехе под 5-ть метров, меня устроит.
И есть же к примеру для Net сборщик, не помню как он там называется.
короче пока поищю, сомневаюсь что это невозможно. Кстати вопрос насчет .тхт в ресурсах с перезаписью интересует до сих пор.
PS да и переходить не на что, кьют больше всех устраивает, а vlc не настолько функциональный и удобный, да и про MFC вообще молчу, не могу пользоваться студией, просто ненравится. Да и кроссплатформ как никак, это основная причина.
Litkevich Yuriy
один исполняемый файл - статическая сборка. Но судя по разным обсуждениям, в последних версиях Qt люди часто встречаются с разными проблемами при статической сборке.
Andrewshkovskii
Для того, что бы не таскать с собой Qt-ые dll-ки - собери Qt в статике.
RazrFalcon
Цитата(Andrewshkovskii @ 28.5.2010, 18:58) *
Для того, что бы не таскать с собой Qt-ые dll-ки - собери Qt в статике.

Поподробней если можно.

PS пока единственный вариант BoxedApp Packer. Получается 1-н файл, внутри ехе и dll, типа portable как раз и выходит. Правда 299$ как то не очень и взломанных хотя бы к примеру я не нашел.
Andrewshkovskii
Необходимо собрать Qt в static режиме (т.е. при конфигурировании указать ключ -static )
Litkevich Yuriy
RazrFalcon, а чем тебя не устраивает программа-установщик?
Сделай свой установщик и распространяй один файл.
RazrFalcon
Цитата(Andrewshkovskii @ 28.5.2010, 19:14) *
Необходимо собрать Qt в static режиме (т.е. при конфигурировании указать ключ -static )

Мне лично ни очем это говорит =/
Как, чем, зачем и почему изначально он не такой.

Насчет инсталера это понятно, но все равно нето мне нужен 1 файл, пока прогой вышеуказаной буду пользоватся.
Andrewshkovskii
Цитата(RazrFalcon @ 28.5.2010, 21:53) *
Цитата(Andrewshkovskii @ 28.5.2010, 19:14) *
Необходимо собрать Qt в static режиме (т.е. при конфигурировании указать ключ -static )

Мне лично ни очем это говорит =/
Как, чем, зачем и почему изначально он не такой.

Насчет инсталера это понятно, но все равно нето мне нужен 1 файл, пока прогой вышеуказаной буду пользоватся.

Установка Qt и Развертывание приложений Qt в MS Windows и Сборка Qt без зависимостей (MSVC) и Сборка Qt без зависимостей (MinGW)
RazrFalcon
Цитата(Andrewshkovskii @ 29.5.2010, 14:10) *

Установка Qt - бесполезно так как использую Qt Creator
Развертывание приложений Qt в MS Windows - написано что .dll с собой таскать надо, ну эт я и так знал
Сборка Qt без зависимостей (MSVC) - тоже что и в первом (Qt Creator), так что неважно
Сборка Qt без зависимостей (MinGW) - сделал, вроде пашит, ну так всеравно только -1 файл.
Так что вопрос еще в силе, разве что самому написать прогу типа той которую я использую в trial.
kibsoft
Цитата
сделал, вроде пашит, ну так всеравно только -1 файл.

Что значит все равно 1?
Для начала тебе надо собрать qt статически, затем проделать "Сборка Qt без зависимостей (MinGW)"
Статическая сборка Qt
Про Windows тоже есть.
RazrFalcon
Цитата(kibsoft @ 29.5.2010, 16:31) *
Цитата
сделал, вроде пашит, ну так всеравно только -1 файл.

Что значит все равно 1?
Для начала тебе надо собрать qt статически, затем проделать "Сборка Qt без зависимостей (MinGW)"
Статическая сборка Qt
Про Windows тоже есть.

То есть без пересборки QT в статике никак. Жаль. Ну это не очень хочется пока делать, лучше когда уже уж очень нужно будет.
Litkevich Yuriy
Цитата(RazrFalcon @ 29.5.2010, 20:17) *
Установка Qt - бесполезно так как использую Qt Creator
вообще оригинальное умозаключение. У меня других слов нет
Andrewshkovskii
Цитата(RazrFalcon @ 29.5.2010, 17:17) *
Цитата(Andrewshkovskii @ 29.5.2010, 14:10) *

Установка Qt - бесполезно так как использую Qt Creator
Развертывание приложений Qt в MS Windows - написано что .dll с собой таскать надо, ну эт я и так знал
Сборка Qt без зависимостей (MSVC) - тоже что и в первом (Qt Creator), так что неважно
Сборка Qt без зависимостей (MinGW) - сделал, вроде пашит, ну так всеравно только -1 файл.
Так что вопрос еще в силе, разве что самому написать прогу типа той которую я использую в trial.

А QtCreator это что - все Qt? крийэтор это лишь IDE которая создана для упрощения разработки приложений с помощью фреймворка Qt. Ты не обязательно должен писать Qt-вые приложения в нем, можно и без Qt.. Ты видимо плохо понимаешь , что такое Qt в целом, и по частям..
RazrFalcon
Цитата(Litkevich Yuriy @ 29.5.2010, 18:18) *
Цитата(RazrFalcon @ 29.5.2010, 20:17) *
Установка Qt - бесполезно так как использую Qt Creator
вообще оригинальное умозаключение. У меня других слов нет

Я имел ввиду что я работаю в скачанной SDK версии, установил и все работает, не нужно компилить и все остальное.
Сглупил немного, просто там думал как раз над прогой и не о том мысли были. :rolleyes:

Цитата(Andrewshkovskii @ 29.5.2010, 18:18) *
Ты видимо плохо понимаешь , что такое Qt в целом, и по частям...

Я понимаю что можно и в студии писать просто подключив кьютешные библиотеки и остальное, и что просто c помощью gcc компилить.
Просто мне удобно работать в креаторе, а студией я редко пользуюсь и ну не знаю не нравится и все тут.
Andrewshkovskii
Да причем тут IDE! ты можешь в любой среде разрабатывать, хоть в блокноте! Речь идет о исходниках Qt, их конфигурировании и дальнейшей сборки всей библиотеки !
RazrFalcon
Ладно забудем про статическую сборку и тому подобное.
Как сделать:
1) допустим что прога типа - инсталер.
2) как достать какой то файл из ресурсов (или откуда то еще) и перенести его по нужному пути.
3) так как инсталер обязательно должен быть в 1-н файл то получается никак нельзя без статической сборки, и снова у меня с этим проблема. <_<
4) как создать что то на подобии виртуальной папки, чтоб в ней лежал ехе мой и dll'ки, но вид был как у просто ехе. По типу, как это делает AppBoxer Packer. Он собирает все файлы под один ехе и все работает нормально. Можно ссылки на похожие free проги или на то как это можно создать.
Litkevich Yuriy
RazrFalcon, читай тему - Установщик (installer) для своих программ
RazrFalcon
Цитата(Litkevich Yuriy @ 2.6.2010, 23:40) *

Нуу... не то немного, инсталер я уже умею делать.
Интересует именно пункты 2) и 4)
PS Где можно скачать собраный в статике QT чтоб самому не делать, сомневаюсь что каждый ждет по 5 часов только чтоб собрать это все. Должен был же быть, кто то уже выложил готовое.
Andrewshkovskii
Нигде, т.к. Qt собранный в статике (с демками, примерами, дебагом) весит как современная компьютерная игра - много.
Насчет 4го пункта - объясни,придумай,расскажи для чего же тебе требуется всего один файл?
Litkevich Yuriy
Цитата(Andrewshkovskii @ 3.6.2010, 15:21) *
Насчет 4го пункта - объясни,придумай,расскажи для чего же тебе требуется всего один файл?
+1
и насчёт второго я тоже не понял. Если есть установщик, то нужда в остальных пунктах по идее должна отпасть.
RazrFalcon
Цитата(Andrewshkovskii @ 3.6.2010, 11:21) *
Нигде, т.к. Qt собранный в статике (с демками, примерами, дебагом) весит как современная компьютерная игра - много.

Что значит много, у меня со всем набором всего 1.5Гб, разве это много. С помощью торрентов передать запросто.

В принципе один файл нужен просто ради интереса, острой нужды в нем у меня нет, просто было интересно как это делается.
Ну а пока Excelsior устраивает.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2024 IPS, Inc.