Russian Qt Forum
Ноябрь 26, 2024, 18:25
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
Вопросы новичков
>
Компиляция и сборка
Страниц: [
1
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: Компиляция и сборка (Прочитано 5708 раз)
Biowolf
Гость
Компиляция и сборка
«
:
Январь 23, 2014, 03:46 »
Имею некоторый опыт в майкрософтской визуал студии. Решил попробовать Qt, восновном ради того что бы получить программу работающую и из-под линукса.
Написал простенькую програмку на Qt. Скомпилировал. Из самого Qt она работала успешно. Но когда я пытаюсь запустить .exe файл из проводника возникает ошибка - не найдено libgcc_s_dw2-1.dll
Как получить работающий .exe ? Желательно без лишних .dll
Как получить компилированый файл для Линукса? Где обещанная кроссплатформенность?
Подскажите пожалуйста!
Записан
carrygun
Гость
Re: Компиляция и сборка
«
Ответ #1 :
Январь 23, 2014, 04:21 »
Цитата: Biowolf от Январь 23, 2014, 03:46
Как получить работающий .exe ? Желательно без лишних .dll
Он уже рабочий. Насчет "лишних" библиотек - ищите читаете про статическую сборку Qt.
Цитата: Biowolf от Январь 23, 2014, 03:46
Как получить компилированый файл для Линукса? Где обещанная кроссплатформенность?
Собрать свои исходники в линупсе, либо прочитать про кросскомпиляцию. Кроссплатформенность в Qt предполагает компилируемость кода в поддерживаемых ОС. Если вам надо что-то работающее везде и всегда, то подойдет Java.
Записан
Biowolf
Гость
Re: Компиляция и сборка
«
Ответ #2 :
Январь 23, 2014, 22:01 »
В мелкософтской студии получался .exe весом 10 Кб и всё.
В Qt запускаемый файл получается в 3 раза больше и ещё надо приложить 3 Мб каких-то библиотек, чтобы оно вообще запускалось.
Почему так сложно?
Насчёт кроссплатформенности я ожидал что можно будет нажать кнопку компилировать и у меня сразу появятся программы под популярные оси, разложенные по разным папочкам. Но оказывается и тут сложности непомерные!
Почему так сложно?
Записан
kambala
Джедай : наставник для всех
Offline
Сообщений: 4747
Re: Компиляция и сборка
«
Ответ #3 :
Январь 23, 2014, 22:33 »
1. цена легкой кросс-платформенности
2. дело в чистом нативном коде. одна ОС (равно как и отдельно взятый компилятор) сама по себе ничего не знает о других ОС. хочешь собирать бинарники для разных ОС из одной — ставь кросс-компилятор. иначе иди на Java.
Записан
Изучением 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
LisandreL
Птица говорун
Offline
Сообщений: 984
Надо улыбаться
Re: Компиляция и сборка
«
Ответ #4 :
Январь 23, 2014, 22:37 »
Цитата: Biowolf от Январь 23, 2014, 22:01
В мелкософтской студии получался .exe весом 10 Кб и всё.
Ага, попробуйте его запустить на компьютере, где не стоит студия или Visual C++ Redistributable Package.
Но в целом, да, в Qt размер дистрибутива простенькой программы получается большим (если позаморачиваться со статической сборкой, отключением ненужного функционала, upx'ом пройтись и т.п.) или просто неприлично огромным (если этого не делать).
Цитата: Biowolf от Январь 23, 2014, 22:01
Почему так сложно?
Потому что жизнь - боль.
Записан
Alex Custov
Джедай : наставник для всех
Offline
Сообщений: 2063
Re: Компиляция и сборка
«
Ответ #5 :
Январь 23, 2014, 22:41 »
Цитата: Biowolf от Январь 23, 2014, 22:01
Насчёт кроссплатформенности я ожидал что можно будет нажать кнопку компилировать и у меня сразу появятся программы под популярные оси, разложенные по разным папочкам. Но оказывается и тут сложности непомерные!
Почему так сложно?
Вон из профессии! Ожидал он.
Записан
LisandreL
Птица говорун
Offline
Сообщений: 984
Надо улыбаться
Re: Компиляция и сборка
«
Ответ #6 :
Январь 23, 2014, 22:53 »
Цитата: carrygun от Январь 23, 2014, 04:21
Если вам надо что-то работающее везде и всегда, то подойдет Java.
Цитата: kambala от Январь 23, 2014, 22:33
хочешь собирать бинарники для разных ОС из одной — ставь кросс-компилятор. иначе иди на Java.
Не знаю, может мне очень не везло на разработчиков, но те гуёвые Java-программы с которыми я сталкивался оставили у меня привкус жутко бесящей тормознутости (ну и сильно ненативный вид я тоже отношу к минусам).
Записан
kambala
Джедай : наставник для всех
Offline
Сообщений: 4747
Re: Компиляция и сборка
«
Ответ #7 :
Январь 23, 2014, 23:24 »
а никто и не говорил, что джава — оптимальный вариант
легка в развертывании/запуске на любой платформе, да (ТС хочет именно этого насколько я понял), но у нее есть и ряд своих минусов. для Qt-программы достаточно подложить несколько длл и всё будет работать (если сборка нестатическая), с джавой же так не получится.
Записан
Изучением 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
carrygun
Гость
Re: Компиляция и сборка
«
Ответ #8 :
Январь 24, 2014, 04:36 »
Цитата: LisandreL от Январь 23, 2014, 22:53
В жабе проблемы с гуем еще те, но я чаще всего встречал другие решения. Хотя был один суровый гуй на OpenGL в яве, медленно, но работало ведь!
Записан
Alexu007
Гость
Re: Компиляция и сборка
«
Ответ #9 :
Январь 24, 2014, 08:56 »
Мне тож сперва как то не понравилось дополнительные DLL, и получается размер больше, чем даже в том же билдере было. Но!. Ексешники Qt как минимум вдвое быстрее билдера работают (что очень приятно удивило). А дополнительные DLL ваще фигня, я их сразу в папку скопировал, и все свои Qt-шные ексешники туда сую.
Если захочешь свою гениальную EXE кому-нить
впарить
подарить - давай её сразу в папке с библиотеками (их всего три). И никаких проблем.
В наш век терабайтов и терагерц стоит ли париться из-за лишних трёх файликов и десятка мегабайт?
Записан
kambala
Джедай : наставник для всех
Offline
Сообщений: 4747
Re: Компиляция и сборка
«
Ответ #10 :
Январь 24, 2014, 12:34 »
Цитата: Alexu007 от Январь 24, 2014, 08:56
давай её сразу в папке с библиотеками (их
всего три
)
шутник
количество длл зависит от количества используемых модулей Qt в программе.
Записан
Изучением 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
carrygun
Гость
Re: Компиляция и сборка
«
Ответ #11 :
Январь 24, 2014, 12:42 »
Цитата: kambala от Январь 24, 2014, 12:34
Цитата: Alexu007 от Январь 24, 2014, 08:56
давай её сразу в папке с библиотеками (их
всего три
)
шутник
количество длл зависит от количества используемых модулей Qt в программе.
А то и больше. К примеру если захотеть послушать mp3, то помимо Qt5Multimedia программе трубется Qt5MultimediaWidgets, который тянет за собой Qt5OpenGL
Записан
NickSin
Гость
Re: Компиляция и сборка
«
Ответ #12 :
Январь 27, 2014, 11:08 »
Цитата: carrygun от Январь 24, 2014, 12:42
Цитата: kambala от Январь 24, 2014, 12:34
Цитата: Alexu007 от Январь 24, 2014, 08:56
давай её сразу в папке с библиотеками (их
всего три
)
шутник
количество длл зависит от количества используемых модулей Qt в программе.
А то и больше. К примеру если захотеть послушать mp3, то помимо Qt5Multimedia программе трубется Qt5MultimediaWidgets, который тянет за собой Qt5OpenGL
Жизнь - это правда боль)
Записан
Страниц: [
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 сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...