![]() |
|
![]() ![]() ![]() |
|
gordmiand |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 772 Регистрация: 15.4.2007 Репутация: нет Всего: 0 |
подскажите пож-та как можно скомпилировать проект, чтобы чисто один его экзешник (или весь проект) работал бы на компе (под линуксом), где вообще нет Qt...
|
|||
|
||||
borisbn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4875 Регистрация: 6.2.2010 Где: Ростов-на-Дону Репутация: 48 Всего: 135 |
Точно не помню, но по-моему в лицензии на Open Source Qt сказано, что обязательно распространять свой exe-шник вместе с библиотеками Qt
Это сообщение отредактировал(а) borisbn - 29.4.2010, 22:40 -------------------- Женщины отличаются от программистов тем, что у них чары состоят из стрингов |
|||
|
||||
gordmiand |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 772 Регистрация: 15.4.2007 Репутация: нет Всего: 0 |
жаль, что точно не помните - очень надо....
а с какими именно "....с библиотеками Qt"? |
|||
|
||||
borisbn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4875 Регистрация: 6.2.2010 Где: Ростов-на-Дону Репутация: 48 Всего: 135 |
В windows'е с DLL-ками. Например, если используешь gui, нужно распространять QtCore4.dll и QtGui4.dll. Посмотри лицензию на их сайте
-------------------- Женщины отличаются от программистов тем, что у них чары состоят из стрингов |
|||
|
||||
Любитель |
|
|||
Программист-романтик ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3645 Регистрация: 21.5.2005 Где: Воронеж Репутация: 16 Всего: 92 |
Ну это ж уже обсуждалось ни раз..
Если не распространять исходники, то надо обеспечить возможность юзерам собрать ваше приложение с другой версии Qt (грубо говоря). Т. е., если подходить формально - достаточно распространения объектных файлов. А для собирания одного мегафайла - надо пользоваться статической линковокй. Для этого надо вначале собрать статические либы Qt. Информация есть в доках. PS Может есть активисты, чтобы сделать инструкцию по использованию статической линковки, strip-а и "лицензионными" отличиями? |
|||
|
||||
Deex42Iv |
|
|||
![]() Trust No One Профиль Группа: Участник Сообщений: 24 Регистрация: 25.8.2009 Где: Казань Репутация: нет Всего: нет |
||||
|
||||
gordmiand |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 772 Регистрация: 15.4.2007 Репутация: нет Всего: 0 |
Любитель: а в каких именно "доках"? дайте ссылочку пож-та....
|
|||
|
||||
KL7 |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 59 Регистрация: 7.12.2008 Где: Minsk City Репутация: 2 Всего: 2 |
||||
|
||||
gordmiand |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 772 Регистрация: 15.4.2007 Репутация: нет Всего: 0 |
да, но это под винды, а мне бы под линукс надо...
хотя может и не стои заморачиваться - значит достаточно распространения вместе с экзешником объектных файлов проекта, чтобы он работал на компе без Qt? Это сообщение отредактировал(а) gordmiand - 1.5.2010, 18:50 |
|||
|
||||
KL7 |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 59 Регистрация: 7.12.2008 Где: Minsk City Репутация: 2 Всего: 2 |
Вы уж определитесь: Вам под линукс или все-таки exe-шники
![]() А вообще динамически слинкованному exe-шнику как правило нужны QtCore4.dll, QtGui4.dll, mingwm10.dll и (для Qt 4.6) libgcc_s_dw2-1.dll. Вот наверно то, что Вам надо - Builing static Qt on Linux. Но там для старенького Qt. |
|||
|
||||
gordmiand |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 772 Регистрация: 15.4.2007 Репутация: нет Всего: 0 |
KL7: имелся ввиду пусковой файл программы в линуксе - то есть тот же экзешник программы...
по Вашей ссылке - там все заморочено...уж лучше буду таскать с исполняемым файлом проги набор дополнительных файлов, чем курочить кути... |
|||
|
||||
KL7 |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 59 Регистрация: 7.12.2008 Где: Minsk City Репутация: 2 Всего: 2 |
||||
|
||||
gordmiand |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 772 Регистрация: 15.4.2007 Репутация: нет Всего: 0 |
KL7 : ну извините - я на линукс токо перехожу, а так все еще мыслю категориями и понятиями виндов...
так все-таки - для корректной работы приложения на компе без Qt достаточно иметь в проекте его объектные *.o -файлы? |
|||
|
||||
KL7 |
|
||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 59 Регистрация: 7.12.2008 Где: Minsk City Репутация: 2 Всего: 2 |
Нет. Для работы qt-приложения под виндой нужно иметь QtCore4.dll, QtGui4.dll, mingwm10.dll и (для Qt 4.6) libgcc_s_dw2-1.dll. Первые две можно найти в папке qt\bin, вторые две - в mingw\bin. Как обстоят дела в прочих ОС - не в курсе. А объектные файлы тут упоминали по поводу лицензионного соглашения. Я не знаток в этой области, но сейчас бесплатная Qt доступна с GNU LGPL лицензией и согласно ей
Вобщем если Вы серьезно решите нести свой проект в массы, то должны выдать обществу не только толстый exe-шник со статически слинкованными библиотеками, но и исходники или объектные файлы, чтобы народ потом смог пересобрать Ваше приложение, если у них возникнет такое желание. А для запуска на машине без qt Ваши *.o файлы никак не помогут. Нужны именно qt-шные библиотеки. Только проблема в том, что QtCore4.dll + QtGui4.dll - это около 12 метров. Т.е. Ваш дистрибутив (программа + библиотеки) будет весит 12+ метров. Даже если там тренировочный 'hello world'. А статически слинкованный exe, упакованный upx-ом, у меня получается около 2-3 метров. Мне, конечно, стыдно за вероятное нарушение лицензии, но лабы преподам я сдаю именно в таком варианте. Это сообщение отредактировал(а) KL7 - 2.5.2010, 23:40 |
||||
|
|||||
gordmiand |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 772 Регистрация: 15.4.2007 Репутация: нет Всего: 0 |
KL7: ясно... то есть достаточно таскать с собой всего 4 файла - QtCore4.dll, QtGui4.dll, mingwm10.dll и (для Qt 4.6) libgcc_s_dw2-1.dll? а то со статической линковкой Qt под линукс как-то совсем сложно....
может кто знает доходчивые ссылки для такой линковки для Qt 4.6??? |
|||
|
||||
![]() ![]() ![]() |
Правила форума "С/С++: Кроссплатформенное программирование, QT/Gtk+/wxWidgets" | |
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, Любитель. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |