Russian Qt Forum

Qt => Мультимедиа => Тема начата: ppk от Май 28, 2009, 14:24



Название: Сборка QT c Phonon под MinGW
Отправлено: ppk от Май 28, 2009, 14:24
Добрый день. Вот по этой ссылке  http://wiki.qtcentre.org/index.php?title=Building_the_Phonon_backend_plugin_on_Windows_using_MinGW указано как собрать Phonon backend plugin on Windows using MinGW.

Возникает вопрос о последовательности действий. На форуме однозначного ответа не нашел.
Делаю так:
Устанавливаю qt-win-opensource-4.5.1-mingw.exe
В переменных окружения указываю QMAKESPEC = win32-g++
Далее configure - debug-and-release -phonon -phonon-backend
Все проходит без ошибок.

Далее копирую http://websvn.kde.org/trunk/kdesupport/kdewin32 в папку C:\Qt\4.5.1\src\kde
Меняю файл copy kdewin32/include/mingw/comdef.h kdewin32/include/directx и
изменяю src/plugins/phonon/ds9/ds9.pro как указано в инструкции по ссылке.

Получаю
Код:
DESTDIR = $$QT_BUILD_TREE/plugins/phonon_backend
QT += phonon
win32:!win32-g++*:!wince*:contains(QT_CONFIG,opengl):LIBS += opengl32.lib
win32:!win32-g++*:!wince*:LIBS += gdi32.lib
!win32-g++*:win32-msvc2005:DEFINES += _CRT_SECURE_NO_WARNINGS
!win32-g++*:LIBS += strmiids.lib Dmoguids.lib uuid.lib msdmo.lib
win32-g++*:contains(QT_CONFIG,opengl):LIBS += -lopengl32
win32-g++*:LIBS += -lgdi32 -lstrmiids -lDmoguids -luuid -lmsdmo -lole32 -loleaut32
TARGET = phonon_ds9

DEFINES += PHONON_MAKE_QT_ONLY_BACKEND
PHONON_DS9_DIR = $$QT_SOURCE_TREE/src/3rdparty/phonon/ds9
INCLUDEPATH += $$QT_SOURCE_TREE/src/kdewin32/include/directx
...

выполняю mingw32-make и где-то через 15 секунд все ломается с такой ошибкой:
Код:
...
release/main.o(.text$_ZN5QListIN12Preprocessor11IncludePathEE6appendERK
<Preprocessor::IncludePath>::append(Preprocessor::IncludePath const&)]+
n.cpp: undefined reference to `QListData::append()'
collect2: ld returned 1 exit status
mingw32-make[2]: *** [..\..\..\bin\moc.exe] Error 1
mingw32-make[2]: Leaving directory `C:/Qt/4.5.1/src/tools/moc'
mingw32-make[1]: *** [release] Error 2
mingw32-make[1]: Leaving directory `C:/Qt/4.5.1/src/tools/moc'
mingw32-make: *** [sub-moc-make_default-ordered] Error 2

Подскажите, что я делаю не так. Заранее всем признателен.


Название: Re: Сборка QT c Phonon под MinGW
Отправлено: ppk от Май 29, 2009, 21:09
Сделал то же самое, но на другом компе. Удалось добиться следующего.
Мediaplayer из примеров собирается и запускается. Только ничего играть не хочет.
Сборка при этом опять завершилась с ошибкой:

Код:
...
..\..\..\3rdparty\phonon\ds9\/backendnode.h:37: error: `IPin' was not declared i
n this scope
..\..\..\3rdparty\phonon\ds9\/backendnode.h:37: error: template argument 1 is in
valid
..\..\..\3rdparty\phonon\ds9\/backendnode.h:37: error: ISO C++ forbids declarati
on of `InputPin' with no type
..\..\..\3rdparty\phonon\ds9\/backendnode.h:38: error: `IPin' was not declared i
n this scope
..\..\..\3rdparty\phonon\ds9\/backendnode.h:38: error: template argument 1 is in
valid
..\..\..\3rdparty\phonon\ds9\/backendnode.h:38: error: ISO C++ forbids declarati
on of `OutputPin' with no type
..\..\..\3rdparty\phonon\ds9\/backendnode.h:39: error: `IBaseFilter' was not dec
lared in this scope
..\..\..\3rdparty\phonon\ds9\/backendnode.h:39: error: template argument 1 is in
valid
..\..\..\3rdparty\phonon\ds9\/backendnode.h:39: error: ISO C++ forbids declarati
on of `Filter' with no type
..\..\..\3rdparty\phonon\ds9\/backendnode.h:40: error: `IGraphBuilder' was not d
eclared in this scope
..\..\..\3rdparty\phonon\ds9\/backendnode.h:40: error: template argument 1 is in
valid
..\..\..\3rdparty\phonon\ds9\/backendnode.h:40: error: ISO C++ forbids declarati
on of `Graph' with no type
mingw32-make[4]: *** [tmp/obj/debug_shared/abstractvideorenderer.o] Error 1
mingw32-make[4]: Leaving directory `C:/Qt/2009.02/qt/src/plugins/phonon/ds9'
mingw32-make[3]: *** [debug-all] Error 2
mingw32-make[3]: Leaving directory `C:/Qt/2009.02/qt/src/plugins/phonon/ds9'
mingw32-make[2]: *** [sub-ds9-make_default] Error 2
mingw32-make[2]: Leaving directory `C:/Qt/2009.02/qt/src/plugins/phonon'
mingw32-make[1]: *** [sub-phonon-make_default] Error 2
mingw32-make[1]: Leaving directory `C:/Qt/2009.02/qt/src/plugins'
mingw32-make: *** [sub-plugins-make_default-ordered] Error 2

Я так понимаю у меня не хочет собираться backend?
Установлен DirectX и MSVC2008, который вроде бы включает в себя SDK.

Подскажите, где я ошибаюсь? Кто-то ведь собирал уже backend под MinGW на этом форуме.


Название: Re: Сборка QT c Phonon под MinGW
Отправлено: Авварон от Май 30, 2009, 01:07
собирал... после конфигура кьют собираться отказалась, тем не менее бекенд успел собраться и все работало...


Название: Re: Сборка QT c Phonon под MinGW
Отправлено: ppk от Май 30, 2009, 09:40
А можно узнать с какими опциями configure ипользовался?
configure - debug-and-release -phonon -phonon-backend  достаточно?


Название: Re: Сборка QT c Phonon под MinGW
Отправлено: Авварон от Май 30, 2009, 12:45
да по-моему даже без дебаг релиза просто -phonon -phonon-backend


Название: Re: Сборка QT c Phonon под MinGW
Отправлено: Racheengel от Май 31, 2009, 15:00
ну, я собрал бэкэнд и фонон отдельно от кути (4.5.1 для мингв, бинарная прекомпиленная).
все запустилось нормально в висте.


Название: Re: Сборка QT c Phonon под MinGW
Отправлено: ppk от Май 31, 2009, 18:47
А как это сделать?
Пытаюсь допустим собрать фонон. Вылетает с такой вот ошибкой:
Код:
mingw32-make.exe[1]: Leaving directory `C:/Qt/2009.02/qt/src/phonon'
C:\Qt\2009.02\mingw\bin\mingw32-make.exe: Leaving directory `C:/Qt/2009.02/qt/src/phonon'
mingw32-make.exe[1]: *** [tmp/moc/debug_shared/moc_abstractmediastream.cpp] Error 1
C:\Qt\2009.02\mingw\bin\mingw32-make.exe: *** [debug-all] Error 2
Exited with code 2.
Error while building project phonon
When executing build step 'Make'


Название: Re: Сборка QT c Phonon под MinGW
Отправлено: Racheengel от Июнь 02, 2009, 00:50
кути я ставил уже прекомпиленную.

затем открыл креатором проект фонона в src\phonon\phonon.pro.
В нем пришлось вписать в самое начало:
QT_SOURCE_TREE=../..

выбрал затем в креаторе сборку в релизе, собрал, получил библиотеку на выходе.

Потом пошел по ссылке http://wiki.qtcentre.org/index.php?title=Building_the_Phonon_backend_plugin_on_Windows_using_MinGW и сделал все как там было сказано, получил плагин бэкэнда и все.


Название: Re: Сборка QT c Phonon под MinGW
Отправлено: ppk от Июнь 03, 2009, 10:03
Спасибо. Все получилось! Теперь проблема другого характера. Если запустить пример "mediaplayer" все играется, но при попытке изменить настройки(яркость, контраст...) изображение либо пропадает, либо ничего не меняется. Mediaplayer собранный под MSVC 2008 работает нормально. Это Phonon так работает под MinGW или я что-то не так делаю опять?


Название: Re: Сборка QT c Phonon под MinGW
Отправлено: Racheengel от Июнь 03, 2009, 10:38
судя по всему, какой то баг в фононе.
но не знаю, т.к. такого не делал.