|
86 / 1 / 0
Регистрация: 07.12.2016
Сообщений: 13
|
|
Распространение откомпилированного приложения28.11.2019, 16:05. Показов 1223. Ответов 3
Метки нет (Все метки)
Привет, Всем. У меня немного глупый вопрос, но очень интересно узнать у тех, кто в этом вариться и знает как все устроено. Если можете ответить на него литературой, то я был бы признателен.
Вопрос: Вот если зайти в Visual Studio и начать новый проект с целью разработать приложение и когда ты уже все сделал, допустим такой исход, как это все в продукт переводят? Они же не копируют всю папку с проектом и не заливают на диски или ещё куда-нибудь, потому что когда устанавливаешь любое приложение на ПК, то там есть множество различных папок, само приложение, большое количество файлов. Надеюсь вы поняли мой вопрос. Спасибо за ответы.
0
|
|
| 28.11.2019, 16:05 | |
|
Ответы с готовыми решениями:
3
Нет откомпилированного файла При запуске откомпилированного приложения открывается два окна
|
|
4083 / 2681 / 432
Регистрация: 09.09.2017
Сообщений: 11,921
|
|
| 28.11.2019, 16:32 | |
Сообщение было отмечено Frinend как решение
Решение
Если нужно распространить только приложение, то из исходного кода получают исполняемый файл, к нему добавляют файлы, необходимые для работы вроде картинок, конфигов, иногда библиотек и прочего, после чего собирают в пакет и распространяют. Формат пакета специфичен для конкретной системы: в простейшем случае это просто исполняемый файл вообще без оформления, чуть сложнее - архив, и так до полноценных пакетов (*.deb / *.rpm) или инсталляторов. Бинарный файл ваша Студия собирает точно, надо только найти куда она его кладет и какие библиотеки будут нужны для запуска.
. Вариант два, если хотите распространять исходные коды. Можно, конечно, заархивировать всю папку с проектом, но это плохая идея, поскольку для открытия понадобится точно такая же IDE, что у вас, той же версии и т.п. Более универсальным вариантом является прописывание сборочных скриптов для make / cmake / qmake.
1
|
|
|
86 / 1 / 0
Регистрация: 07.12.2016
Сообщений: 13
|
|
| 28.11.2019, 16:46 [ТС] | |
|
COKPOWEHEU, приведенные варианты описываются в литературе или это уже опыт разработчиков говорит об этом?
0
|
|
|
4083 / 2681 / 432
Регистрация: 09.09.2017
Сообщений: 11,921
|
|
| 28.11.2019, 17:31 | |
|
Я бы сказал, что эти варианты сложились исторически. Наверняка нашелся кто-то, кто их формализовал и записал в книгу, но я этим не интересовался.
Поставьте себя на место разработчика. Вы написали классную программу и хотите показать знакомому. Можно дать ему исходный код (сейчас без разницы в составе проекта или просто так) - тогда он сможет его скомпилировать у себя, посмотреть как программа работает, да еще покритиковать исходный код, дать по нему советы. А если у него нет под рукой компилятора или IDE именно вашей версии, или он вообще не программист? Тогда собираете бинарник и копируете ему, тоже все вполне очевидно. Усложним задачу: вы пишете не просто вещь-в-себе, а часть более сложной системы, которая должна активно взаимодействовать с другими программами. Да хотя бы библиотек много наподключали, конфиг файлы используете и т.п. То есть просто скопировать бинарник уже не выйдет - надо его как-то интегрировать в систему, выполнять ее настройку, проверять конфликты, доустанавливать библиотеки или компоненты. Примерно с этого момента появляется три пути развития. Первый путь - войти в сообщество разработчиков и пользователей, выработать правила интегрирования отдельных программ в операционную систему. Этого подхода придерживаются дистрибутивы Линукса: любая программа оформляется как пакет, в котором прописаны зависимости (что ей нужно для счастья) и скрипты конфигурации. Разрешением зависимостей занимается сама ОС, так что пакет может быть просто архивом да файлом с описанием. Второй подход - вещь-в-себе. Программа представляет собой и бинарник, и библиотеки, и файлы, и все остальное, что ей нужно. Она тупо копируется в файловую систему и сидит там, ни от кого не завися. Естественно, все эти библиотеки занимают немало места... Третий вариант гибридный: если в ОС не встроен механизм установки пакетов, программа должна сама распихать библиотеки куда посчитает нужным, создать все конфиг файлы и прочее. В отличие от предыдущего варианта, она пытается скооперироваться с другими программами и раскладывает библиотеки в "стандартных" местах, чтобы избежать дублирования. Правда, без поддержки со стороны ОС это получается далеко не всегда, и программы частенько скатываются к предыдущему варианту. Есть и достаточно экзотический вариант, когда распространяются именно исходные коды, а пользователь на своей машине их собирает в программу. Этим развлекаются source-based дистрибутивы вроде gentoo. -- Что-то я много порасписал. У вас, наверное, не столько теоретический интерес, сколько реальная задача?
0
|
|
| 28.11.2019, 17:31 | |
|
Помогаю со студенческими работами здесь
4
Распространение приложения Распространение приложения и com.interop Распространение приложения, использующего QDB2 Распространение и обновление приложения в локальной сети Распространение приложения через Google Play или встреча с чёрной дырой Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Символьное дифференцирование
igorrr37 13.02.2026
/ *
Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2).
Унарный минус обозначается как !
в-строка - входное арифметическое выражение в инфиксной(обычной). . .
|
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
|
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу,
и светлой Луне.
В мире
покоя нет
и люди
не могут жить в тишине.
А жить им немного лет.
|
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила»
«Время-Деньги»
«Деньги -Пуля»
|
|
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога
Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога
Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
|
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
|