Russian Qt Forum
Ноябрь 22, 2024, 18:26
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
Общие вопросы
>
Статическая линковка в Visual Studio
Страниц: [
1
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: Статическая линковка в Visual Studio (Прочитано 4246 раз)
qtkoder777
Частый гость
Offline
Сообщений: 245
Статическая линковка в Visual Studio
«
:
Январь 12, 2022, 17:38 »
Как сделать чтоб вообще всё было в одном экзешнике. Тащим программу куда угодно, хоть в Win95 и она сразу работает.
Проблемы с запуском QT-программ на других машинах идут постоянно. Доходило до того, что приходилось ставить QT на машину пользователя. Подложенные к экзешнику dll из QT не помогали, в том числе после прописи пути в реестр.
Разница между Win-библиотеками тоже досаждает.
Записан
tux
Global Moderator
Бывалый
Offline
Сообщений: 404
Re: Статическая линковка в Visual Studio
«
Ответ #1 :
Январь 13, 2022, 10:50 »
А в чём проблема собрать сам Qt статически и потом уже собрать свою программу тоже статически? Информации по этому в сети вагон и маленькая тележка.
Записан
Digital Art
qtkoder777
Частый гость
Offline
Сообщений: 245
Re: Статическая линковка в Visual Studio
«
Ответ #2 :
Январь 13, 2022, 11:21 »
В сети рекомендуют поставить опцию /MT и ещё что-то в отношении MFC. Ставил всё и по отдельности, появляются ошибки линкера.
Всё в разных местах, причём не в опциях линкера.
В MS вероятно специально сделали так неудобно чтоб минимизировать совместимость версий Windows особенно при использовании сторонних библиотек. Работаешь в Windows так пиши на .NET.
Сборка QT под Windows то еще занятие, удел истинных гиков, последнее чем буду заниматься.
Записан
tux
Global Moderator
Бывалый
Offline
Сообщений: 404
Re: Статическая линковка в Visual Studio
«
Ответ #3 :
Январь 13, 2022, 11:48 »
Тут M$ вообще не при чём. Хотите под Qt статику? Есть два пути: либо купить коммерческую лицензию, либо собрать Qt самостоятельно, исходники то есть.
Записан
Digital Art
kambala
Джедай : наставник для всех
Offline
Сообщений: 4747
Re: Статическая линковка в Visual Studio
«
Ответ #4 :
Январь 13, 2022, 13:31 »
а что, ИИ не может это за тебя сделать еще?
Записан
Изучением C++ вымощена дорога в Qt.
UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
qtkoder777
Частый гость
Offline
Сообщений: 245
Re: Статическая линковка в Visual Studio
«
Ответ #5 :
Январь 13, 2022, 13:37 »
Цитата: kambala от Январь 13, 2022, 13:31
а что, ИИ не может это за тебя сделать еще?
Его пока предоставили лишь избранным для тестирования. И они уже 30% гитхаба заполонили. А после тестирования ИИ станет дико дорогим. Пока поэтому кодим ручками.
Записан
sergek
Гипер активный житель
Offline
Сообщений: 872
Мы должны приносить пользу людям.
Re: Статическая линковка в Visual Studio
«
Ответ #6 :
Январь 13, 2022, 15:50 »
Цитата: tux от Январь 13, 2022, 11:48
Тут M$ вообще не при чём. Хотите под Qt статику? Есть два пути: либо купить коммерческую лицензию, либо собрать Qt самостоятельно, исходники то есть.
А что, после сборки уже не нужно покупать лицензию?
Записан
Qt 5.13.0 Qt Creator 5.0.1
Win10, Ubuntu 20.04
tux
Global Moderator
Бывалый
Offline
Сообщений: 404
Re: Статическая линковка в Visual Studio
«
Ответ #7 :
Январь 13, 2022, 16:12 »
Цитата: sergek от Январь 13, 2022, 15:50
А что, после сборки уже не нужно покупать лицензию?
Если контора получает прибыль - да, нужно. Но, иногда, даже не получая прибыль, хочется, как у ТС - "всё в одном флаконе". И тут может быть дешевле по затратам (нервы тоже в счёт идут) купить коммерческую лицензию и получить статические библиотеки.
Но, можно и собрать - там несложно. Хотя, честно скажу - в винде не пробовал.
Записан
Digital Art
DarkHobbit
Самовар
Offline
Сообщений: 197
Re: Статическая линковка в Visual Studio
«
Ответ #8 :
Январь 15, 2022, 07:44 »
Насколько критично именно Visual Studio? Для MinGW задача решённая, если что.
И на Win95 я бы особо не рассчитывал, особенно в случае майкрософтовского компилятора, нужный ему рантайм уже даже под XP запросто может не запуститься (вы можете собрать Qt статически, но при этом библиотеки от майкрософта придётся тащить всё равно).
Далее, надо смотреть, какую вы лицензию используете и распространяете ли продукт за пределы своей фирмы. Если вы используете LGPL-сборку Qt, надо дать возможность получателю вашей программы возможность замены Qt (я в курсе, что ему это, скорее всего нахрен не упёрлось, но лицензия требует). То есть если сборка статическая - надо будет дать либо исходники, либо объектные файлы (последнее, наверное, легче). Ну либо покупать коммерческую лицензию на Qt, да.
Цитировать
Сборка QT под Windows то еще занятие, удел истинных гиков, последнее чем буду заниматься.
Под майкрософтовский компилятор - возможно. Для MinGW у меня даже инструкции (лично написанные) есть.
«
Последнее редактирование: Январь 15, 2022, 07:51 от DarkHobbit
»
Записан
Мои проекты на Qt:
DoubleContact
,
LInvert
DarkHobbit
Самовар
Offline
Сообщений: 197
Re: Статическая линковка в Visual Studio
«
Ответ #9 :
Январь 15, 2022, 08:07 »
Цитата: tux от Январь 13, 2022, 16:12
Если контора получает прибыль - да, нужно.
К получению прибыли вопрос ТСа отношение имеет примерно никакое, не надо вводить людей в заблуждение.
Загвоздка исключительно в том, что вы будете отдавать законному получателю вашего продукта. Если вы пользуетесь LGPL-сборкой, то читать надо саму LGPL, а не то, что пишут на qt.io перед кнопкой "Скачать" (там упрощённые формулировки для менеджеров и прочих ЛПРов). А сама LGPL требует именно то, о чём я написал выше - дать возможность получателю менять саму библиотеку. Пути выполнения этого требования разные - либо исходники, либо объектники, либо динамическая компоновка.
Если требования LGPL не устраивают, и вы отдаёте продукт на сторону - наоборот,нужна коммерческая версия, вне зависимости, получаете вы прибыль или нет.
Записан
Мои проекты на Qt:
DoubleContact
,
LInvert
Страниц: [
1
]
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Qt
-----------------------------
=> Вопросы новичков
=> Уроки и статьи
=> Установка, сборка, отладка, тестирование
=> Общие вопросы
=> Пользовательский интерфейс (GUI)
=> Qt Quick
=> Model-View (MV)
=> Базы данных
=> Работа с сетью
=> Многопоточное программирование, процессы
=> Мультимедиа
=> 2D и 3D графика
=> OpenGL
=> Печать
=> Интернационализация, локализация
=> QSS
=> XML
=> Qt Script, QtWebKit
=> ActiveX
=> Qt Embedded
=> Дополнительные компоненты
=> Кладовая готовых решений
=> Вклад сообщества в Qt
=> Qt-инструментарий
-----------------------------
Программирование
-----------------------------
=> Общий
=> С/C++
=> Python
=> Алгоритмы
=> Базы данных
=> Разработка игр
-----------------------------
Компиляторы и платформы
-----------------------------
=> Linux
=> Windows
=> Mac OS X
=> Компиляторы
===> Visual C++
-----------------------------
Разное
-----------------------------
=> Новости
===> Новости Qt сообщества
===> Новости IT сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...