我正在为 Ubutu linux 编程,并且正在尝试显示视频。但是,我遇到了一个问题:由于以下错误,我无法创建 QVideoSurfaceFormat 的实例:
undefined reference to `QVideoSurfaceFormat::QVideoSurfaceFormat(QSize const&, QVideoFrame::AVPixelFormat, QAbstractVideoBuffer::HandleType)'
collect2: error: ld returned 1 exit status
我猜问题出在某个地方的Qt多媒体二进制文件中。但是在编译输出中有以下内容:
g++ -o LPR_Demo main.o mainwindow.o imgProcessor.o qpicturelabel.o aboutdialog.o state.o videowidget.o videowidgetsurface.o videoplayer.o qt_videoreader.o roidialog.o recognitionresult.o ffmpeg_reader.o moc_mainwindow.o moc_imgProcessor.o moc_aboutdialog .o moc_videowidget.o moc_videowidgetsurface.o moc_videoplayer.o moc_qt_videoreader.o moc_roidialog.o moc_recognitionresult.o qrc_lpr_Res.o -L/usr/lib/i386-linux-gnu -L/usr/X11R6/lib -L/home/truskov/开发/lprsdk/LPR/bin -lLPR -lavformat -lavcodec -lavutil -lswscale -L/usr/lib/i386-linux-gnu -lQtMultimediaKit -lQtOpenGL -lQtGui -lQtNetwork -lQtCore -lGL -lpthread
QtMultimediaKit 库似乎已经到位。
我的 .pro 文件是这样的:
QT += core gui
win32:QT+= multimedia
unix {
QT+= mobility multimediakit
MOBILITY = multimedia
CONFIG += mobility
}
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
TARGET = LPR_Demo
TEMPLATE = app
但是,当 qmake 运行时,我收到以下消息:
项目消息:警告:未知 QT:移动项目消息:警告:未知 QT:多媒体套件
什么可能导致这种情况?如何解决?