Название: Phonon и плеер Отправлено: make от Март 06, 2011, 21:25 хочу для начала написать консольный мп3 плеер на кьюти! Надо зделать так чтобы можно было задавать имя файла для проигрывания как аргумент возле имени проги в консоли! ну а вот моя проблема:
#include <QCoreApplication> #include <phonon/AudioOutput> #include <phonon/MediaObject> int main(int argc, char *argv[]) { QCoreApplication app(argc, argv); Phonon::MediaObject obj; Phonon::AudioOutput out; obj.setCurrentSource(Phonon::MediaSource(argv[1])); //!!!!!!!!!!!!!! Phonon::createPath(&obj, &out); obj.play(); return app.exec(); } именно здесь проблема obj.setCurrentSource(Phonon::MediaSource(argv[1])); //!!!!!!!!!!!!!! потому что MediaSource принимает параметр - константу , насколько я понял. что можно сделать? Название: Re: Phonon и плеер Отправлено: m_ax от Март 06, 2011, 21:51 Phonon::MediaSource(QString(argv[1]))
Ы? Хотя проблема наверное не в этом.. Название: Re: Phonon и плеер Отправлено: make от Март 06, 2011, 22:33 Phonon::MediaSource(QString(argv[1])) Ы? Хотя проблема наверное не в этом.. наверное не в этом потому что все равно не компилится! блин, ну помогите кто-нибудь! Название: Re: Phonon и плеер Отправлено: Sancho_s_rancho от Март 07, 2011, 00:00 Phonon::MediaSource(QString(argv[1])) Ы? Хотя проблема наверное не в этом.. наверное не в этом потому что все равно не компилится! блин, ну помогите кто-нибудь! Вот вам не лень вякую фигню постить тут, вместо того, чтобы прочесть сообщение компилятора. Ваша программа то хоть о QString что-нибудь знает? Хедеры-то все подключены? Название: Re: Phonon и плеер Отправлено: make от Март 07, 2011, 00:22 Phonon::MediaSource(QString(argv[1])) Ы? Хотя проблема наверное не в этом.. наверное не в этом потому что все равно не компилится! блин, ну помогите кто-нибудь! Вот вам не лень вякую фигню постить тут, вместо того, чтобы прочесть сообщение компилятора. Ваша программа то хоть о QString что-нибудь знает? Хедеры-то все подключены? ты меня пожалуйста лохом не считай! хедеры само собой подключал! если хочешь я тебе здесь вывешу то что мне пишет компиллер! Название: Re: Phonon и плеер Отправлено: Авварон от Март 07, 2011, 01:24 а на линупсе так ваще не скомпилится
Название: Re: Phonon и плеер Отправлено: make от Март 07, 2011, 11:22 а на линупсе так ваще не скомпилится какая вобщем разница... это же кроссплатформенная библиотека... кроме того я юзаю mingw и каждый раз получаю шо-то вроде этого: PS C:\my\cbp> make mingw32-make -f Makefile.Debug mingw32-make[1]: Entering directory `C:/my/cbp' g++ -c -g -frtti -fexceptions -mthreads -Wall -DUNICODE -DQT_LARGEFILE_SUPPORT -DQT_DLL -DQT_GUI_LIB -DQT_CORE_LIB -DQT_ HAVE_MMX -DQT_HAVE_3DNOW -DQT_HAVE_SSE -DQT_HAVE_MMXEXT -DQT_HAVE_SSE2 -DQT_THREAD_SUPPORT -DQT_NEEDS_QMAIN -I"..\..\Qt\ 4.7.1\include\QtCore" -I"..\..\Qt\4.7.1\include\QtGui" -I"..\..\Qt\4.7.1\include" -I"." -I"..\..\Qt\4.7.1\include\Active Qt" -I"debug" -I"..\..\Qt\4.7.1\mkspecs\default" -o debug\main.o main.cpp g++ -enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runtime-pseudo-reloc -mthreads -Wl -Wl,-subsystem,windows -o debug\cbp.exe debug/main.o -L"c:\Qt\4.7.1\lib" -lmingw32 -lqtmaind -lQtGuid4 -lQtCored4 debug/main.o: In function `main': C:\my\cbp/main.cpp:12: undefined reference to `_imp___ZN6Phonon11MediaObjectC1EP7QObject' C:\my\cbp/main.cpp:13: undefined reference to `_imp___ZN6Phonon11AudioOutputC1EP7QObject' C:\my\cbp/main.cpp:17: undefined reference to `_imp___ZN6Phonon11MediaSourceC1ERK7QString' C:\my\cbp/main.cpp:17: undefined reference to `_imp___ZN6Phonon11MediaObject16setCurrentSourceERKNS_11MediaSourceE' C:\my\cbp/main.cpp:17: undefined reference to `_imp___ZN6Phonon11MediaSourceD1Ev' C:\my\cbp/main.cpp:18: undefined reference to `_imp___ZN6Phonon10createPathEPNS_9MediaNodeES1_' C:\my\cbp/main.cpp:18: undefined reference to `_imp___ZN6Phonon4PathD1Ev' C:\my\cbp/main.cpp:19: undefined reference to `_imp___ZN6Phonon11MediaObject4playEv' C:\my\cbp/main.cpp:12: undefined reference to `_imp___ZN6Phonon11MediaObjectD1Ev' C:\my\cbp/main.cpp:17: undefined reference to `_imp___ZN6Phonon11MediaSourceD1Ev' C:\my\cbp/main.cpp:12: undefined reference to `_imp___ZN6Phonon11MediaObjectD1Ev' debug/main.o: In function `~AudioOutput': C:\my\cbp/../../Qt/4.7.1/include/phonon/../../src/phonon/../3rdparty/phonon/phonon/audiooutput.h:51: undefined reference to `_imp___ZTVN6Phonon11AudioOutputE' C:\my\cbp/../../Qt/4.7.1/include/phonon/../../src/phonon/../3rdparty/phonon/phonon/audiooutput.h:51: undefined reference to `_imp___ZTVN6Phonon11AudioOutputE' C:\my\cbp/../../Qt/4.7.1/include/phonon/../../src/phonon/../3rdparty/phonon/phonon/audiooutput.h:51: undefined reference to `_imp___ZN6Phonon19AbstractAudioOutputD2Ev' collect2: ld returned 1 exit status mingw32-make[1]: *** [debug\cbp.exe] Error 1 mingw32-make[1]: Leaving directory `C:/my/cbp' mingw32-make: *** [debug] Error 2 Название: Re: Phonon и плеер Отправлено: Blackwanderer от Март 07, 2011, 12:01 QT += phonon
Название: Re: Phonon и плеер Отправлено: Авварон от Март 07, 2011, 13:44 библиотека кроссплатформенная, а вот пути к файлам разные бывают, регистрозависимые и нет. я к чему - Phonon пишется с большой буквы. А в вин вам везет ибо она не различает регистр путей
Название: Re: Phonon и плеер Отправлено: make от Март 07, 2011, 15:38 QT += phonon то есть по-вашему если новичок - то совсем тупой? все это у меня давно уже написано! ну вот вы хоть сами попробуйте скомпилить а потом бесполезные предложения давйте! C:\my\cbp/../../Qt/4.7.1/include/phonon/../../src/phonon/../3rdparty/phonon/phonon/audiooutput.h:51: undefined reference to `_imp___ZTVN6Phonon11AudioOutputE' C:\my\cbp/../../Qt/4.7.1/include/phonon/../../src/phonon/../3rdparty/phonon/phonon/audiooutput.h:51: undefined reference to `_imp___ZTVN6Phonon11AudioOutputE' C:\my\cbp/../../Qt/4.7.1/include/phonon/../../src/phonon/../3rdparty/phonon/phonon/audiooutput.h:51: undefined reference to `_imp___ZN6Phonon19AbstractAudioOutputD2Ev' по-моему если взглянуть на вот это то можно понять что компиллер видет фонон но шото ему не нравится! Название: Re: Phonon и плеер Отправлено: Авварон от Март 07, 2011, 15:45 Цитировать MacBook-arch:~ arch$ grep phonon g++ -enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runtime-pseudo-reloc -mthreads -Wl -Wl,-subsystem,windows -o debug\cbp.exe debug/main.o -L"c:\Qt\4.7.1\lib" -lmingw32 -lqtmaind -lQtGuid4 -lQtCored4 греп с вами не согласен. компилер ничего о фононе не знает Название: Re: Phonon и плеер Отправлено: ufna от Март 07, 2011, 16:02 а Qt, которая "4.7.1" обычно, разве с собранным фононом идет? Судя по логу, то компилятор и не пытается линковать либу. Посмотри, phonon.lib у тебя есть?
Название: Re: Phonon и плеер Отправлено: Blackwanderer от Март 07, 2011, 19:02 все это у меня давно уже написано! А я и забыл, что обладаю даром силой мысли читать на расстоянии ваши исходники. ;)а потом бесполезные предложения давйте! Это что-то - ошибка при линковке. Подключая .h файлы phonon'а вы просто говорите компилятору, что где-то есть библиотека, в которой реализованы такие-то и такие-то классы. При сборе вашей программы в точках вызова функций phonon'а компилятор должен вставить код типа "загрузить в память такую-то .dll, выполнить функцию по такому-то адресу в этой dll". Эта информация ("загрузить в память такую-то .dll, выполнить функцию по такому-то адресу в этой dll") хранится в .a/.lib файле, вот его-то компилятор и не видит. Указывать его надо в .pro файле, который вы не привели, так что остается только гадать.C:\my\cbp/../../Qt/4.7.1/include/phonon/../../src/phonon/../3rdparty/phonon/phonon/audiooutput.h:51: undefined reference to `_imp___ZTVN6Phonon11AudioOutputE' C:\my\cbp/../../Qt/4.7.1/include/phonon/../../src/phonon/../3rdparty/phonon/phonon/audiooutput.h:51: undefined reference to `_imp___ZTVN6Phonon11AudioOutputE' C:\my\cbp/../../Qt/4.7.1/include/phonon/../../src/phonon/../3rdparty/phonon/phonon/audiooutput.h:51: undefined reference to `_imp___ZN6Phonon19AbstractAudioOutputD2Ev' по-моему если взглянуть на вот это то можно понять что компиллер видет фонон но шото ему не нравится! Строчка QT += phonon как раз таки инструктирует qmake о том, что надо сообщить компилятору о том, где находится нужный .lib файл. Название: Re: Phonon и плеер Отправлено: make от Март 07, 2011, 22:56 а Qt, которая "4.7.1" обычно, разве с собранным фононом идет? Судя по логу, то компилятор и не пытается линковать либу. Посмотри, phonon.lib у тебя есть? с фононом у меня все нормально потому что если в пропишу в MediaSource путь и имя файла напрямую - все отлично компилится и музыка играет! а вот если не задавать имя файла как константу сразу - то компиллер и ругается! Название: Re: Phonon и плеер Отправлено: ufna от Март 07, 2011, 22:57 Создай этот проект, и выложи сюда архивом. Как-то ошибки сборки не вяжутся с проблемой.
Название: Re: Phonon и плеер Отправлено: m_ax от Март 07, 2011, 23:23 У меня под линем всё скомпилилось и работает)
Косяк не в коде.. Ищите)) Кто ищет - вынужден блуждать) Название: Re: Phonon и плеер Отправлено: make от Март 08, 2011, 12:03 У меня под линем всё скомпилилось и работает) Косяк не в коде.. Ищите)) Кто ищет - вынужден блуждать) знаешь может прикол в компиллере? я использую самую свежую версию mingw с последней версией winapi а qt требует чуть по старше! я шас попробую! Создай этот проект, и выложи сюда архивом. Как-то ошибки сборки не вяжутся с проблемой. ошибки мокут чуть чуть не совпадать со строками потому что я много раз пробовал шото изменять но в основном постоянно выдает почти одно и тоже! Название: Re: Phonon и плеер Отправлено: make от Март 08, 2011, 20:20 нет не работает... :(
|