C++ Qt添加库gstreamer-1.0
我正在做一个项目,依赖于gstreamer-1.0、glib-2.0和gobject-2.0。 在控制台和VSCode中构建工作正常,但当我到达Qt时,我收到以下错误消息:C++ Qt添加库gstreamer-1.0,c++,qt,gstreamer,glib,gobject,C++,Qt,Gstreamer,Glib,Gobject,我正在做一个项目,依赖于gstreamer-1.0、glib-2.0和gobject-2.0。 在控制台和VSCode中构建工作正常,但当我到达Qt时,我收到以下错误消息: :error: cannot find /usr/lib/x86_64-linux-gnu/: File format not recognized My.pro文件: QT += core QT -= gui TARGET = Accord CONFIG += console CONFIG -= app_bundle
:error: cannot find /usr/lib/x86_64-linux-gnu/: File format not recognized
My.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)中使用以下变量:
如果您的GStreamer位于默认位置,它应该可以工作。我通过更改
QMAKE\u CFLAGS\u ISYSTEM=-ISYSTEM解决了这个问题
到QMAKE\u CFLAGS\u ISYSTEM=-I
(可以添加到.pro)
对于Qt5.10+我认为LIBS+=/usr/lib/x86\u 64-linux-gnu/
是不正确的,因此
错误:找不到/usr/lib/x86_64-linux-gnu/:无法识别文件格式
你可能是说
LIBS += -L/usr/lib/x86_64-linux-gnu/
将目录添加到ld
的搜索路径(尽管这不是必需的)
LIBS += -L/usr/lib/x86_64-linux-gnu/