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

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

Страниц: [1]
  Печать  
Автор Тема: Сборка QT c Phonon под MinGW  (Прочитано 2416 раз)
ppk
Новичок

Offline Offline

Сообщений: 43


Просмотр профиля
« : Май 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

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

Offline Offline

Сообщений: 43


Просмотр профиля
« Ответ #1 : Май 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 на этом форуме.
Записан
Авварон
Гипер активный житель
*****
Online Online

Сообщений: 809


Просмотр профиля
« Ответ #2 : Май 30, 2009, 01:07 »

собирал... после конфигура кьют собираться отказалась, тем не менее бекенд успел собраться и все работало...
Записан
ppk
Новичок

Offline Offline

Сообщений: 43


Просмотр профиля
« Ответ #3 : Май 30, 2009, 09:40 »

А можно узнать с какими опциями configure ипользовался?
configure - debug-and-release -phonon -phonon-backend  достаточно?
Записан
Авварон
Гипер активный житель
*****
Online Online

Сообщений: 809


Просмотр профиля
« Ответ #4 : Май 30, 2009, 12:45 »

да по-моему даже без дебаг релиза просто -phonon -phonon-backend
Записан
Racheengel
phpBB Супер
******
Offline Offline

Сообщений: 1103

йолку убрал...


Просмотр профиля WWW
« Ответ #5 : Май 31, 2009, 15:00 »

ну, я собрал бэкэнд и фонон отдельно от кути (4.5.1 для мингв, бинарная прекомпиленная).
все запустилось нормально в висте.
Записан

:: Jedem Das Seine ::
:: Каждому - Своё ::

http://sintegrial.com - всякий хороший Qt софт
ppk
Новичок

Offline Offline

Сообщений: 43


Просмотр профиля
« Ответ #6 : Май 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'
Записан
Racheengel
phpBB Супер
******
Offline Offline

Сообщений: 1103

йолку убрал...


Просмотр профиля WWW
« Ответ #7 : Июнь 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 и сделал все как там было сказано, получил плагин бэкэнда и все.
Записан

:: Jedem Das Seine ::
:: Каждому - Своё ::

http://sintegrial.com - всякий хороший Qt софт
ppk
Новичок

Offline Offline

Сообщений: 43


Просмотр профиля
« Ответ #8 : Июнь 03, 2009, 10:03 »

Спасибо. Все получилось! Теперь проблема другого характера. Если запустить пример "mediaplayer" все играется, но при попытке изменить настройки(яркость, контраст...) изображение либо пропадает, либо ничего не меняется. Mediaplayer собранный под MSVC 2008 работает нормально. Это Phonon так работает под MinGW или я что-то не так делаю опять?
Записан
Racheengel
phpBB Супер
******
Offline Offline

Сообщений: 1103

йолку убрал...


Просмотр профиля WWW
« Ответ #9 : Июнь 03, 2009, 10:38 »

судя по всему, какой то баг в фононе.
но не знаю, т.к. такого не делал.
Записан

:: Jedem Das Seine ::
:: Каждому - Своё ::

http://sintegrial.com - всякий хороший Qt софт
Страниц: [1]
  Печать  
 
Перейти в:  

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