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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Сборка QT c Phonon под MinGW  (Прочитано 13497 раз)
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

Подскажите, что я делаю не так. Заранее всем признателен.
Записан
ppk
Гость
« Ответ #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 на этом форуме.
Записан
Авварон
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3260


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

собирал... после конфигура кьют собираться отказалась, тем не менее бекенд успел собраться и все работало...
Записан
ppk
Гость
« Ответ #3 : Май 30, 2009, 09:40 »

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

Сообщений: 3260


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

да по-моему даже без дебаг релиза просто -phonon -phonon-backend
Записан
Racheengel
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2679


Я работал с дискетам 5.25 :(


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

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

What is the 11 in the C++11? It’s the number of feet they glued to C++ trying to obtain a better octopus.

COVID не волк, в лес не уйдёт
ppk
Гость
« Ответ #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
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2679


Я работал с дискетам 5.25 :(


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

What is the 11 in the C++11? It’s the number of feet they glued to C++ trying to obtain a better octopus.

COVID не волк, в лес не уйдёт
ppk
Гость
« Ответ #8 : Июнь 03, 2009, 10:03 »

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

Сообщений: 2679


Я работал с дискетам 5.25 :(


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

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

What is the 11 in the C++11? It’s the number of feet they glued to C++ trying to obtain a better octopus.

COVID не волк, в лес не уйдёт
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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