私は Ubutu Linux 用にプログラミングしており、ビデオを表示しようとしています。ただし、問題が発生しました。次のエラーが原因で、QVideoSurfaceFormat のインスタンスを作成できません。
undefined reference to `QVideoSurfaceFormat::QVideoSurfaceFormat(QSize const&, QVideoFrame::AVPixelFormat, QAbstractVideoBuffer::HandleType)'
collect2: error: ld returned 1 exit status
問題は Qt Multimedia バイナリのどこかにあると推測しています。しかし、コンパイル出力には次のものがあります。
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 認識結果.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/ development/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: マルチメディアキット
何が原因でしょうか? どうすれば解決できますか?