Название: Сборка Phonon в VS2008
Отправлено: Etud от Декабрь 17, 2009, 01:09
Подскажите плиз как правильно установить Phonon, так как ошибка линковки ? Почитал в Интернет статьи: - Compilation of Phonon under Windows XP - How to Compile Qt Phonon in Windows Vista Для установки требуется: 1) Microsoft SDKs 2) Microsoft DirectX SDK Конфигурация Qt (статическая): configure -static -release -no-exceptions -no-qt3support -openssl -webkit -qt-zlib -qt-gif -qt-libpng -qt-libjpeg -phonon
Прописал системные переменные: INCLUDE C:\Program Files\Microsoft SDKs\Windows\v6.0A\Include LIB C:\Program Files\Microsoft SDKs\Windows\v6.0A\Lib Но Microsoft DirectX SDK не устанавливал, т.к. DirectShow вроде работает... После сборки: 1) в каталоге C:\qt\4.5.3\lib появилась либа phonon; 2) в каталоге C:\qt\4.5.3\plugins\phonon_backend появилась либа phonon_ds9. но mediaplayer из \demos\ не собирается, т.к. ошибки линковки. А нужно ли еще эта опция конфигурации ??? -phonon -phonon-backend
Название: Re: Сборка Phonon в VS2008
Отправлено: Etud от Декабрь 17, 2009, 01:13
Log Output Window RCC mediaplayer.qrc MOC mediaplayer.h Compiling... qrc_mediaplayer.cpp moc_mediaplayer.cpp mediaplayer.cpp main.cpp Generating Code... Linking... Creating library release\mediaplayer.lib and object release\mediaplayer.exp main.obj : warning LNK4217: locally defined symbol ??1AudioOutput@Phonon@@UAE@XZ (public: virtual __thiscall Phonon::AudioOutput::~AudioOutput(void)) imported in function __unwindfunclet$??1MediaPlayer@@UAE@XZ$0 mediaplayer.obj : warning LNK4049: locally defined symbol ??1AudioOutput@Phonon@@UAE@XZ (public: virtual __thiscall Phonon::AudioOutput::~AudioOutput(void)) imported main.obj : warning LNK4217: locally defined symbol ??1MediaObject@Phonon@@UAE@XZ (public: virtual __thiscall Phonon::MediaObject::~MediaObject(void)) imported in function "public: virtual __thiscall MediaPlayer::~MediaPlayer(void)" (??1MediaPlayer@@UAE@XZ) mediaplayer.obj : warning LNK4049: locally defined symbol ??1MediaObject@Phonon@@UAE@XZ (public: virtual __thiscall Phonon::MediaObject::~MediaObject(void)) imported main.obj : warning LNK4217: locally defined symbol ??1AbstractAudioOutput@Phonon@@UAE@XZ (public: virtual __thiscall Phonon::AbstractAudioOutput::~AbstractAudioOutput(void)) imported in function "public: virtual __thiscall MediaPlayer::~MediaPlayer(void)" (??1MediaPlayer@@UAE@XZ) mediaplayer.obj : warning LNK4049: locally defined symbol ??1AbstractAudioOutput@Phonon@@UAE@XZ (public: virtual __thiscall Phonon::AbstractAudioOutput::~AbstractAudioOutput(void)) imported main.obj : warning LNK4217: locally defined symbol ??1Path@Phonon@@QAE@XZ (public: __thiscall Phonon::Path::~Path(void)) imported in function "public: virtual __thiscall MediaPlayer::~MediaPlayer(void)" (??1MediaPlayer@@UAE@XZ) mediaplayer.obj : warning LNK4049: locally defined symbol ??1Path@Phonon@@QAE@XZ (public: __thiscall Phonon::Path::~Path(void)) imported mediaplayer.obj : warning LNK4217: locally defined symbol ??1VideoWidget@Phonon@@UAE@XZ (public: virtual __thiscall Phonon::VideoWidget::~VideoWidget(void)) imported in function __unwindfunclet$??0MediaVideoWidget@@QAE@PAVMediaPlayer@@PAVQWidget@@@Z$0 mediaplayer.obj : warning LNK4217: locally defined symbol ??0VideoWidget@Phonon@@QAE@PAVQWidget@@@Z (public: __thiscall Phonon::VideoWidget::VideoWidget(class QWidget *)) imported in function "public: __thiscall MediaVideoWidget::MediaVideoWidget(class MediaPlayer *,class QWidget *)" (??0MediaVideoWidget@@QAE@PAVMediaPlayer@@PAVQWidget@@@Z) mediaplayer.obj : warning LNK4217: locally defined symbol ?setFullScreen@VideoWidget@Phonon@@QAEX_N@Z (public: void __thiscall Phonon::VideoWidget::setFullScreen(bool)) imported in function "protected: virtual void __thiscall MediaVideoWidget::mouseDoubleClickEvent(class QMouseEvent *)" (?mouseDoubleClickEvent@MediaVideoWidget@@MAEXPAVQMouseEvent@@@Z) mediaplayer.obj : warning LNK4217: locally defined symbol ?play@MediaObject@Phonon@@QAEXXZ (public: void __thiscall Phonon::MediaObject::play(void)) imported in function "public: void __thiscall MediaPlayer::playPause(void)" (?playPause@MediaPlayer@@QAEXXZ) mediaplayer.obj : warning LNK4217: locally defined symbol ?seek@MediaObject@Phonon@@QAEX_J@Z (public: void __thiscall Phonon::MediaObject::seek(__int64)) imported in function "public: void __thiscall MediaPlayer::playPause(void)" (?playPause@MediaPlayer@@QAEXXZ) mediaplayer.obj : warning LNK4217: locally defined symbol ?currentTime@MediaObject@Phonon@@QBE_JXZ (public: __int64 __thiscall Phonon::MediaObject::currentTime(void)const ) imported in function "public: void __thiscall MediaPlayer::playPause(void)" (?playPause@MediaPlayer@@QAEXXZ) mediaplayer.obj : warning LNK4217: locally defined symbol ?totalTime@MediaObject@Phonon@@QBE_JXZ (public: __int64 __thiscall Phonon::MediaObject::totalTime(void)const ) imported in function "public: void __thiscall MediaPlayer::playPause(void)" (?playPause@MediaPlayer@@QAEXXZ) mediaplayer.obj : warning LNK4217: locally defined symbol ?pause@MediaObject@Phonon@@QAEXXZ (public: void __thiscall Phonon::MediaObject::pause(void)) imported in function "public: void __thiscall MediaPlayer::playPause(void)" (?playPause@MediaPlayer@@QAEXXZ)
................ release\mediaplayer.exe : fatal error LNK1120: 2 unresolved externals
Название: Re: Сборка Phonon в VS2008
Отправлено: crackedmind от Декабрь 17, 2009, 22:59
Вообще нужна эти опции. А то qmake не будет дописывать в makefile'ы нужные либы. Можно сделать так: Открыть qt\4.6.0\mkspecs\qtconfig.pri добавить phonon phonon-backend к переменной QT_CONFIG :)
Название: Re: Сборка Phonon в VS2008
Отправлено: Etud от Декабрь 18, 2009, 00:01
>:(
1) Пишут, что Phonon вроде бы работает для динамической линковки ! Так ли скажите ?
2) Нужна ли DirectX SDK обязательно ? (лень пока пересобирать)
P.S. Попробовал Qt 4.6 - так все либы в bin уже собраны и примеры работают, но динамически
Название: Re: Сборка Phonon в VS2008
Отправлено: Dendy от Декабрь 18, 2009, 00:44
Для самого Фонона SDK не нужна, а для бекенда - нужна, так что ставьте. Пересобрать нужно будет только бекенд.
Название: Re: Сборка Phonon в VS2008
Отправлено: Etud от Декабрь 18, 2009, 14:22
Еще раз спрошу: Phonon работает только для динамической линковки ?
Название: Re: Сборка Phonon в VS2008
Отправлено: Dendy от Декабрь 18, 2009, 18:24
Уверен, что можно собрать и статически, только вместе с бекендами. А это значит что все зависимости как самого Фонона, так и конкретных бекендов должны быть разрешены до configure. Дальше не подскажу, ибо не сбирал.
|