Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/161.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ Qt添加库gstreamer-1.0_C++_Qt_Gstreamer_Glib_Gobject - Fatal编程技术网

C++ Qt添加库gstreamer-1.0

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

我正在做一个项目,依赖于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

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/