简体   繁体   中英

Qt adding library gstreamer-1.0

I am making a project, dependent on gstreamer-1.0, glib-2.0 and gobject-2.0. Building in console and in VSCode works fine, but when i get to Qt, i receive the following error message:

:error: cannot find /usr/lib/x86_64-linux-gnu/: File format not recognized

My .pro file:

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 \

With specified pkgconfig should be enough. You don't need to specify the libraries independently. This might be necessary in Windows, but not in Linux. I use the next variables in Linux (Ubuntu):

CONFIG += link_pkgconfig
PKGCONFIG += gstreamer-1.0 glib-2.0 gobject-2.0 gstreamer-app-1.0 gstreamer-pbutils-1.0

If your GStreamer is in the default location it should work.

I solved it by changing QMAKE_CFLAGS_ISYSTEM = -isystem to QMAKE_CFLAGS_ISYSTEM = -I (can be added to .pro).

for Qt 5.10 +

I think that LIBS += /usr/lib/x86_64-linux-gnu/ is incorrect, hence the error: cannot find /usr/lib/x86_64-linux-gnu/: File format not recognized .

You probably meant

LIBS += -L/usr/lib/x86_64-linux-gnu/

to add the directory to ld 's search path (although that shouldn't be necessary).

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM