Я делаю проект, зависящий от gstreamer-1.0, glib-2.0 и gobject-2.0.
Сборка в консоли и в VSCode работает нормально, но когда я добираюсь до Qt, я получаю следующее сообщение об ошибке:
:error: cannot find /usr/lib/x86_64-linux-gnu/: File format not recognized
Мой профайл:
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.hCONFIG += 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 \
С указанным pkg-config должно быть достаточно. Вам не нужно указывать библиотеки независимо. Это может быть необходимо в 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 находится в расположении по умолчанию, он должен работать.
Других решений пока нет …