Название: Qt+Phonon+Xine Отправлено: CryAngel от Январь 15, 2010, 19:46 Возник такой вопрос, возможно ли каким-то образом получить подобную комбинацию - Qt+Phonon+Xine и при этом без GStreamer? Phonon идущий вместе с Qt без GStreamer собрать если я правильно понял вообще не возможно, поэтому я решил собрать Qt без Phonon-а, а потом собрать Phonon из состава KDE (пердварительно собрав Xine lib естественно). Здесь все прошло достаточно гладко. Но вот дальше... Phonon из KDE при установке создает свою структуру каталогов, которая естественно не совпадает с той, где его ищет Qt (в основном это касается хидеров, Qt у меня установлена в /opt/qt4, Phonon я поставил просто в /opt, в итоге Qt ищет внутри себя, а на самом деле хидеры лежат что-то вроде /opt/include/KDE...), но это я поправил с помощью симлинков. Пути к либам тоже прописал. Однако на этом проблемы не закончились - даже простенькие тестовые программки с использованием Phonon не собираются, ругань на не определенные типы, классы и т.п. Глубоко не копал, но похоже это из-за того, что Qt собран без Phonon, т.е. может определены переменные типа QT_NO_PHONON_VIDEOPLAYER (а в коде есть проверки вида #ifndef QT_NO_PHONON_VIDEOPLAYER). Вобщем здесь я забуксовал. Qt у меня версии 4.6, Phonon брал 4.3.80.
P.S. из текста это и так можно понять, но все же уточню, ОС - Linux, x86_64. Название: Re: Qt+Phonon+Xine Отправлено: Rcus от Январь 15, 2010, 20:36 Интересно, но вроде Qt можно все-таки собирать без бэкенда к фонону, иначе зачем в ./configure ключ -no-phonon-backend. /*Пошел медитировать над виртуальной песочницей*/
Название: Re: Qt+Phonon+Xine Отправлено: Rcus от Январь 16, 2010, 14:20 Кстати о песочнице:
При сборке qt-4.6.0 с опциями Код: ./configure -no-webkit -no-phonon-backend -phonon -prefix /opt/qt46 Код Все нормально собирается, остается только скопировать $PHONON_BUILD_DIR/lib/phonon_xine.so в $QTDIR/plugins/phonon_backend и все работает, по крайней мере демка qmusicplayer играет и cat /proc/$PID/maps показывает что надо. Название: Re: Qt+Phonon+Xine Отправлено: CryAngel от Январь 16, 2010, 17:47 Попробую ответить с телефона (дома у меня интернетов нету :( ). Я помоему понял свою ошибку. Идея в том, что бы phonon собирать из состава qt, сторонний только бакэнд. Я же пытался собрать весь phonon из не-qt-шных сырцов. Спасибо огромное, сегодня попробую так.
Название: Re: Qt+Phonon+Xine Отправлено: CryAngel от Январь 18, 2010, 11:03 Ну что, хочу еще раз поблагодарить, все получилось и, насколько я могу судить, все работает правильно. Не обошлось правда без небольших косяков - у меня почему-то при тех же поправках бакэнд собираться не захотел, на этапе make линковщик ругался что не может найти -lphonon. При том, что путь к либам прописан, и cmake либу нашол. В конце-концов я ручками вписал либу с полным путем и тогда все собралось.
Название: Re: Qt+Phonon+Xine Отправлено: Eugene_123 от Март 25, 2010, 18:54 Rcus, посмотрел кусок кода от Январь 16, 2010, 14:20. У меня QT 4.6.2. Я вчера скомпилил ее и включил поодержку фонона... Посмотрел в папку /4.6.2/lib... У меня получилось, что все Qt-е библиотеки стоят с версией 4.6.2, а один libphonon - 4.3.1? Просто я смотрю в вашем коде тоже указано, что версия qt более новая... Как это так, что из одних исходников получились разные версии библиотек? Это так и должно быть или я что-то не так сделал?
Спасибо) Название: Re: Qt+Phonon+Xine Отправлено: Rcus от Март 25, 2010, 18:58 А вас не смутило то что исходники phonon лежат в src/3rdparty и каждый файл начинается с комментария /* This file is part of the KDE project
Все в порядке, у фонона всегда отличалась нумерация версий. Название: Re: Qt+Phonon+Xine Отправлено: Eugene_123 от Март 25, 2010, 19:24 Спасибо! Точно)
|