使用Phonon :: VideoPlayer进行未定义的引用

时间:2012-11-12 14:09:53

标签: qt ubuntu phonon

我正在使用ubuntu 11.10并使用在构建时使用cmakelist的QT创建GUI。 我遇到的问题是我在运行make时遇到了“未定义的引用于.Phonon :: VideoPlayer :: VideoPlayer(Phonon :: Category,QWidget *)”的错误。

我正在使用QT 4.7.4并且找不到“Qt PHONON库”。运行make时也会出现。

这是来自cMakeCache

//库的路径。 QT_PHONONWIDGETS_PLUGIN_RELEASE:FILEPATH = / usr / lib中/ I386-Linux的GNU / QT4 /插件/设计者/ libphononwidgets.so

//文件的路径。 QT_PHONON_INCLUDE_DIR:PATH =的/ usr /包括/ QT4 /声子

// Qt PHONON库 QT_PHONON_LIBRARY:STRING =

字符串始终为空。

在我的头文件中,这是相关代码

包括“phonon / VideoPlayer”

Phonon :: VideoPlayer *播放器;

和cpp

player = new Phonon :: VideoPlayer(Phonon :: VideoCategory,this);

感谢任何帮助。

谢谢

雅各

3 个答案:

答案 0 :(得分:1)

我最终不得不将QtSDK / QtCreator / lib / qtcreator中的四个libphonon.so文件复制到usr / lib / i386-linux-gnu以使其正常工作。

感谢您的帮助:)

答案 1 :(得分:0)

试试这个:

  1. 从ubuntu软件中心安装phonon和libphonon-dev。
  2. 之后将其添加到项目文件(.pro) - > QT + = phonon
  3. 使用这些头文件:

    #include <phonon/AudioOutput>
    #include <phonon/MediaObject>
    #include <phonon/MediaSource>
    #include <phonon/VideoWidget>
    #include <phonon/VideoPlayer>
    
    
    using namespace Phonon;
    
  4. 这是Qt文档中的一个简单示例:

     VideoPlayer *player = new VideoPlayer(Phonon::VideoCategory, parentWidget);
     connect(player, SIGNAL(finished()), player, SLOT(deleteLater()));
     player->play(url);
    

答案 2 :(得分:0)

如果您使用的是linux install phonon和libphonon-dev: $ sudo apt-get install phonon libphonon-dev

可以包含在project.pro文件中:

LIBS + = -lphonon

如果不起作用,您可以证明是否安装了lib: $ locate libphonon.so

输出可能是:“/ usr / lib / i386-linux_gnu / libbonon.so”

您可以在project.pro文件中包含: INCLUDEPATH + = / usr / lib / i386-linux-gnu

LIBS + = -lphonon