Russian Qt Forum
Май 20, 2024, 21:32 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: 1 [2] 3 4   Вниз
  Печать  
Автор Тема: ПО для Линукса [флейм]  (Прочитано 31968 раз)
xintrea
Супер активный житель
*****
Offline Offline

Сообщений: 754



Просмотр профиля WWW
« Ответ #15 : Январь 20, 2009, 18:45 »

И хотелось бы узнать, а что используется под Win для этих целей, кроме VirtualDub.

Ну, мне для домашнего видео в винде хватает VirtualDub + AviSynth, больше никаких прог для монтажа не установлено.

Под лялихом Avidemux у меня глючит - после любой перемотки на нужный кадр, видео показывается медленно и с передёргиваниями, такое впечатление, что смежные кадры местами меняются (проц одноядерный, если что). Посему нарезать видео в этой проге еще бы можно былоб, еслиб навигация не вызывала глюки. Самое интересное, что Avidemux вроде через mplayer видео выводит. В чистом mplayer перемотка работает нормально. А в Avidemux - глюки.
Записан

Собираю информацию по крупицам
http://webhamster.ru
Detonator
Гость
« Ответ #16 : Январь 20, 2009, 21:37 »

Цитировать
Wine позволяет запускать всё что движется

Куда запускать? В космос?
У меня есть комерческая програмка под WIndows которая использует библиотеку gdiplus.dll
Только пользователи не унимаются и пытаются запускать ее по Wine а потом достают саппорт то почему шрифты не отображаются, то еще что то. Надоело уже им объяснять что под Wine она не работает, не тестировалась и поддерживаться никогда не будет. Все вопросы к разработчикам Wine.

На Qt я теперь свою програмку переписываю в первую очередь из-за Mac OS X.
Хорошо если она заработает под Linux без проблем. Но если проблемы с совместимостью с разными версиями Linux легко решаться не будут, просто забью на линуксовую версию. Пусть линуксовые пользователи продолжают с Wine извращаться, недеюсь программа на Qt под Windows + Wine окажутся более работоспособной.

Кстати так и не получил отвеа на мой вопрос который уже где-то потерялся -
Для инсталяции под линуксом реально распространять скомпиленные obj/lib файлы (их аналог под линуксом) а при инсталяции линковать их в exe по месту? Вроде так и исходники будут закрыты, и зависимость от версии линукса меньше.
Записан
Dendy
Гость
« Ответ #17 : Январь 20, 2009, 22:11 »

2 Detonator.

Ваш вопрос остался в соответствующей теме.
Но судя по форме этого вопроса - вы не в теме. Собственно я не знаю что вы рассчитываете услышать в ответ и нужен ли он вам. Если вам действительно интересно - попробуйте установить любой популярный дистрибутив (пусть даже в виртуальной машине) и собрать там свою программу.
Записан
ритт
Гость
« Ответ #18 : Январь 20, 2009, 22:17 »

Цитировать
Для инсталяции под линуксом реально распространять скомпиленные obj/lib файлы (их аналог под линуксом) а при инсталяции линковать их в exe по месту? Вроде так и исходники будут закрыты, и зависимость от версии линукса меньше.
а obj/lib-файлы чем будут собраны? и какой версией этого "чего"? Улыбающийся
Записан
Detonator
Гость
« Ответ #19 : Январь 20, 2009, 22:47 »

разве gcc 4.0 не универсален и не везде есть?
Я имею в виду что у VS к примеру obj/lib файлы можно линковать вместе даже если одни были VS 6.0 собраны а другие VS 2008. Под линуксом не так?
« Последнее редактирование: Январь 20, 2009, 22:49 от Detonator » Записан
ритт
Гость
« Ответ #20 : Январь 20, 2009, 23:04 »

если считать, что популярные дистры имеют gcc версии не ниже 4.0, то почему не считать, что все пакеты собраны с glibc версии не ниже 2.2-2.3? какие ещё проблемы при статической сборке?
Записан
xintrea
Супер активный житель
*****
Offline Offline

Сообщений: 754



Просмотр профиля WWW
« Ответ #21 : Январь 20, 2009, 23:47 »

если считать, что популярные дистры имеют gcc версии не ниже 4.0, то почему не считать, что все пакеты собраны с glibc версии не ниже 2.2-2.3? какие ещё проблемы при статической сборке?

Я все время слышу про статическую сборку в Linux как решение всех проблем, но никак не могу найти человеческого описания - "как статически скомпилить программу под gcc4"? Не либу, а именно программу. Кроме "-static -- это ключ статической линковки GCC, см. страницы справочного руководства man gcc" ничего внятного ниразу не нашел.

Может быть, Константин расскажет как делать статические бинарники в gcc?
Записан

Собираю информацию по крупицам
http://webhamster.ru
ритт
Гость
« Ответ #22 : Январь 21, 2009, 03:01 »

т.е. что, объяснить как линковать экзешник со статическими либами?
или требуется и с glibc слинковать статически - чтобы из зависимостей вообще осталось одно лишь ядро (косвенно)?
второе на мой взгляд как-то дико...хоть и возможно.

зы. лично меня не пугает распространение и в виде динамически слинкованных бинарников. только напрягает наглость некоторых таких инсталлеров - например, инсталлер энвидиавских дров постоянно норовит похерить некоторые либы, установленные до него - приходится распаковывать пакет и устанавливать либы вручную, перенося оригинальные куда-нибудь в /usr/local/lib и т.п.

зыы. ldd opera - тоже неплохой урок статической сборки Улыбающийся
« Последнее редактирование: Январь 21, 2009, 03:15 от Константин » Записан
xintrea
Супер активный житель
*****
Offline Offline

Сообщений: 754



Просмотр профиля WWW
« Ответ #23 : Январь 21, 2009, 16:55 »

т.е. что, объяснить как линковать экзешник со статическими либами?

Да. И где их брать эти статические либы, особенно если нужная либа существует только в динамическом варианте. Давайте возьмем конкретный простой пример - как статически собрать программу, которая использует

- Библиотеку Qt
- Библиотеку математики libm
- Поддержку LUA liblua конкретной версии 5.1.2
- Библиотеку SDL и SDL_mixer (собранную с исправляющими опциями)  для проигрывания ogg формата


или требуется и с glibc слинковать статически - чтобы из зависимостей вообще осталось одно лишь ядро (косвенно)? второе на мой взгляд как-то дико...хоть и возможно.

Это тоже интересует. Я такое делаю через statifier или через reducebind, в обоих случаях результат удовлетворительным не назовешь - прога начинает работать помимо дистра сборки еще на паре дистров, а чаще всего на других дистрах сегфолтится.


зыы. ldd opera - тоже неплохой урок статической сборки Улыбающийся

Посмотрев вывод влинкованных библиотек, сразу станет понятно, как эти либы в бинарь влинковали? Ключевой вопрос - как влинковывать либы? Желательно, толпою, без плясок с получением *.a файла для каждой либы из исходников.
Записан

Собираю информацию по крупицам
http://webhamster.ru
pastor
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 2901



Просмотр профиля WWW
« Ответ #24 : Январь 21, 2009, 16:59 »

И после обсужденяи создать HowTo Подмигивающий
Записан

Integrated Computer Solutions, Inc. (ICS)
http://www.ics.com/
lit-uriy
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3880


Просмотр профиля WWW
« Ответ #25 : Январь 21, 2009, 17:57 »

надо тему разделить на "ПО для Линукса" и "как линковать бинарь со статическими либами в Линухе?"
Записан

Юра.
xintrea
Супер активный житель
*****
Offline Offline

Сообщений: 754



Просмотр профиля WWW
« Ответ #26 : Январь 21, 2009, 18:12 »

И после обсужденяи создать HowTo Подмигивающий

Я напишу, не вопрос. Когда пойму как это делается. А то десять лет переодически к этой проблеме возвращаюсь, никак внятного решения найти не могу.
Записан

Собираю информацию по крупицам
http://webhamster.ru
Dendy
Гость
« Ответ #27 : Январь 21, 2009, 19:12 »

надо тему разделить на "ПО для Линукса" и "как линковать бинарь со статическими либами в Линухе?"

Так уже раз отпочковывал (-: Предыдущая осталась здесь: http://www.prog.org.ru/topic_8308_0.html
Записан
ритт
Гость
« Ответ #28 : Январь 21, 2009, 20:25 »

- Библиотеку математики libm

http://www.linux.org.ru/view-message.jsp?msgid=3104129 Улыбающийся

зыы. ldd opera - тоже неплохой урок статической сборки Улыбающийся

Посмотрев вывод влинкованных библиотек, сразу станет понятно, как эти либы в бинарь влинковали?
Посмотрев вывод влинкованных библиотек, сразу станет понятно _какие_ либы в бинарь _не_ влинковали.

Ключевой вопрос - как влинковывать либы? Желательно, толпою, без плясок с получением *.a файла для каждой либы из исходников.

я в растерянности - как отвечать на этот вопрос?
откуда *.a-файлы возьмутся, если в пакетах дистра их нет и собирать их ты не хочешь?
./configure --prefix=/tmp/dest --enable-static ... && make && make install
затем спешит на помощь http://wiki.qtcentre.org/index.php?title=Building_static_applications#Linux_.22mostly_static.22

бонусом http://forum.sources.ru/index.php?showtopic=44071

и, быть может, тебе вовсе и не надо полностью статическую сборку? libm есть, lua и sdl симпатишнее выглядят в динамических либах...может будет достаточно таскать с собой нужные динамические либы +
Цитировать
LD_LIBRARY_PATH=`pwd`/lib:$LD_LIBRARY_PATH;export LD_LIBRARY_PATH
?
всё-равно проприетарные программы не принято ставить в /{,usr}
Записан
pastor
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 2901



Просмотр профиля WWW
« Ответ #29 : Январь 21, 2009, 21:09 »

+ можно прочесть Создание разделяемых библиотек
Записан

Integrated Computer Solutions, Inc. (ICS)
http://www.ics.com/
Страниц: 1 [2] 3 4   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.052 секунд. Запросов: 19.