Название: Компиляция и сборка Отправлено: Biowolf от Январь 23, 2014, 03:46 Имею некоторый опыт в майкрософтской визуал студии. Решил попробовать Qt, восновном ради того что бы получить программу работающую и из-под линукса.
Написал простенькую програмку на Qt. Скомпилировал. Из самого Qt она работала успешно. Но когда я пытаюсь запустить .exe файл из проводника возникает ошибка - не найдено libgcc_s_dw2-1.dll Как получить работающий .exe ? Желательно без лишних .dll Как получить компилированый файл для Линукса? Где обещанная кроссплатформенность? Подскажите пожалуйста! Название: Re: Компиляция и сборка Отправлено: carrygun от Январь 23, 2014, 04:21 Как получить работающий .exe ? Желательно без лишних .dll Он уже рабочий. Насчет "лишних" библиотек - ищите читаете про статическую сборку Qt.Как получить компилированый файл для Линукса? Где обещанная кроссплатформенность? Собрать свои исходники в линупсе, либо прочитать про кросскомпиляцию. Кроссплатформенность в Qt предполагает компилируемость кода в поддерживаемых ОС. Если вам надо что-то работающее везде и всегда, то подойдет Java.Название: Re: Компиляция и сборка Отправлено: Biowolf от Январь 23, 2014, 22:01 В мелкософтской студии получался .exe весом 10 Кб и всё.
В Qt запускаемый файл получается в 3 раза больше и ещё надо приложить 3 Мб каких-то библиотек, чтобы оно вообще запускалось. Почему так сложно? Насчёт кроссплатформенности я ожидал что можно будет нажать кнопку компилировать и у меня сразу появятся программы под популярные оси, разложенные по разным папочкам. Но оказывается и тут сложности непомерные! Почему так сложно? Название: Re: Компиляция и сборка Отправлено: kambala от Январь 23, 2014, 22:33 1. цена легкой кросс-платформенности
2. дело в чистом нативном коде. одна ОС (равно как и отдельно взятый компилятор) сама по себе ничего не знает о других ОС. хочешь собирать бинарники для разных ОС из одной — ставь кросс-компилятор. иначе иди на Java. Название: Re: Компиляция и сборка Отправлено: LisandreL от Январь 23, 2014, 22:37 В мелкософтской студии получался .exe весом 10 Кб и всё. Ага, попробуйте его запустить на компьютере, где не стоит студия или Visual C++ Redistributable Package.Но в целом, да, в Qt размер дистрибутива простенькой программы получается большим (если позаморачиваться со статической сборкой, отключением ненужного функционала, upx'ом пройтись и т.п.) или просто неприлично огромным (если этого не делать). Почему так сложно? Потому что жизнь - боль. >:(Название: Re: Компиляция и сборка Отправлено: Alex Custov от Январь 23, 2014, 22:41 Насчёт кроссплатформенности я ожидал что можно будет нажать кнопку компилировать и у меня сразу появятся программы под популярные оси, разложенные по разным папочкам. Но оказывается и тут сложности непомерные! Почему так сложно? Вон из профессии! Ожидал он. Название: Re: Компиляция и сборка Отправлено: LisandreL от Январь 23, 2014, 22:53 Если вам надо что-то работающее везде и всегда, то подойдет Java. хочешь собирать бинарники для разных ОС из одной — ставь кросс-компилятор. иначе иди на Java. Не знаю, может мне очень не везло на разработчиков, но те гуёвые Java-программы с которыми я сталкивался оставили у меня привкус жутко бесящей тормознутости (ну и сильно ненативный вид я тоже отношу к минусам).Название: Re: Компиляция и сборка Отправлено: kambala от Январь 23, 2014, 23:24 а никто и не говорил, что джава — оптимальный вариант :) легка в развертывании/запуске на любой платформе, да (ТС хочет именно этого насколько я понял), но у нее есть и ряд своих минусов. для Qt-программы достаточно подложить несколько длл и всё будет работать (если сборка нестатическая), с джавой же так не получится.
Название: Re: Компиляция и сборка Отправлено: carrygun от Январь 24, 2014, 04:36 В жабе проблемы с гуем еще те, но я чаще всего встречал другие решения. Хотя был один суровый гуй на OpenGL в яве, медленно, но работало ведь! Название: Re: Компиляция и сборка Отправлено: Alexu007 от Январь 24, 2014, 08:56 Мне тож сперва как то не понравилось дополнительные DLL, и получается размер больше, чем даже в том же билдере было. Но!. Ексешники Qt как минимум вдвое быстрее билдера работают (что очень приятно удивило). А дополнительные DLL ваще фигня, я их сразу в папку скопировал, и все свои Qt-шные ексешники туда сую.
Если захочешь свою гениальную EXE кому-нить В наш век терабайтов и терагерц стоит ли париться из-за лишних трёх файликов и десятка мегабайт? Название: Re: Компиляция и сборка Отправлено: kambala от Январь 24, 2014, 12:34 давай её сразу в папке с библиотеками (их всего три) шутник :D количество длл зависит от количества используемых модулей Qt в программе.Название: Re: Компиляция и сборка Отправлено: carrygun от Январь 24, 2014, 12:42 давай её сразу в папке с библиотеками (их всего три) шутник :D количество длл зависит от количества используемых модулей Qt в программе.Название: Re: Компиляция и сборка Отправлено: NickSin от Январь 27, 2014, 11:08 давай её сразу в папке с библиотеками (их всего три) шутник :D количество длл зависит от количества используемых модулей Qt в программе.Жизнь - это правда боль) |