我正在制作一个项目,依赖于gstreamer-1.0、glib-2.0和gobject-2.0。 在控制台和 VSCode 中构建工作正常,但是当我进入 Qt 时,我收到以下错误消息:
:error: cannot find /usr/lib/x86_64-linux-gnu/: File format not recognized
我的.pro 文件:
QT += core
QT -= gui
TARGET = Accord
CONFIG += console
CONFIG -= app_bundle
TEMPLATE = app
SOURCES += main.cpp \
working_directory.cpp \
player_core.cpp \
message.cpp
HEADERS += \
working_directory.h \
message.h \
player_core.h
CONFIG += link_pkgconfig \
c++11
PKGCONFIG += gstreamer-1.0 \
glib-2.0 \
gobject-2.0 \
gio-2.0
INCLUDEPATH += /usr/local/include/ \
/usr/include \
/usr/include/gstreamer-1.0 \
/usr/include/glib-2.0 \
/usr/lib/x86_64-linux-gnu/glib-2.0/include \
/usr/lib/x86_64-linux-gnu/gstreamer-1.0/include
LIBS += /usr/lib/x86_64-linux-gnu/ -lgstreamer-1.0 -lgobject-2.0 -lglib-2.0 \
-lgio-2.0 \
最佳答案
使用指定的pkgconfig应该足够了。您不需要独立指定库。这在 Windows 中可能是必要的,但在 Linux 中则不需要。我在 Linux (Ubuntu) 中使用以下变量:
CONFIG += link_pkgconfig
PKGCONFIG += gstreamer-1.0 glib-2.0 gobject-2.0 gstreamer-app-1.0 gstreamer-pbutils-1.0
如果您的 GStreamer 位于默认位置,它应该可以工作。
关于c++ - Qt添加库gstreamer-1.0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46746736/