mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-23 16:50:47 +00:00
gstqmlgl: build on Windows with qmake without pkgconfig; update instructions on building for Windows
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/591>
This commit is contained in:
parent
15dfc3b171
commit
e695991508
2 changed files with 110 additions and 6 deletions
|
@ -48,3 +48,52 @@ make
|
|||
|
||||
Copy the built plugin to your $GSTREAMER_ROOT/lib/gstreamer-1.0 or link to it
|
||||
directly if it is compiled statically
|
||||
|
||||
# Building for Windows using pre-built gstreamer development package and Qt Creator
|
||||
|
||||
## Step 1
|
||||
|
||||
Open `qtplugin.pro` in Qt Creator as project and configure it as usual.
|
||||
|
||||
## Step 2
|
||||
|
||||
Open `qtplugin.pro` in the editor and make sure `GSTREAMER_PATH`
|
||||
variable in `qmlplugin.pro` is set to the path of your gstreamer SDK installation. This directory
|
||||
should contain subdirectories `bin`, `include`, `lib` etc. Pay attention to the correct choice
|
||||
of x86 or x86_64 platform.
|
||||
|
||||
## Step 3
|
||||
|
||||
Build the project as usual.
|
||||
|
||||
## Step 3
|
||||
|
||||
Copy the built plugin to your $GSTREAMER_ROOT/lib/gstreamer-1.0 or link to it
|
||||
directly if it is compiled statically.
|
||||
|
||||
# Building for Windows using pre-built gstreamer development package and Qt on MinGW command line
|
||||
|
||||
## Step 1
|
||||
|
||||
Launch Qt developer command line from the Start menu.
|
||||
|
||||
## Step 2
|
||||
|
||||
cd to the directory of the gstqmlgl plugin and make sure `GSTREAMER_PATH`
|
||||
variable in `qmlplugin.pro` is set to the path of your gstreamer SDK installation. This directory
|
||||
should contain subdirectories `bin`, `include`, `lib` etc. Pay attention to the correct choice
|
||||
of x86 or x86_64 platform.
|
||||
|
||||
## Step 3
|
||||
|
||||
Run the following commands in the gstqmlgl plugin directory:
|
||||
|
||||
```
|
||||
qmake
|
||||
mingw32-make
|
||||
```
|
||||
|
||||
## Step 4
|
||||
|
||||
Copy the built plugin to your $GSTREAMER_ROOT/lib/gstreamer-1.0 or link to it
|
||||
directly if it is compiled statically.
|
|
@ -4,12 +4,63 @@ TARGET = gstqmlgl
|
|||
|
||||
QT += qml quick gui
|
||||
|
||||
QT_CONFIG -= no-pkg-config
|
||||
CONFIG += link_pkgconfig debug
|
||||
PKGCONFIG = \
|
||||
gstreamer-1.0 \
|
||||
gstreamer-video-1.0 \
|
||||
gstreamer-gl-1.0
|
||||
win32:!defined(packagesExist, test) {
|
||||
# Change this to your gstreamer SDK installation path
|
||||
GSTREAMER_PATH=C:/gstreamer/1.0/x86
|
||||
|
||||
# pkgconfig dependencies: gstreamer-1.0, gstreamer-video-1.0, gstreamer-gl-1.0
|
||||
|
||||
GSTREAMER_1_0_INCLUDEPATH = $${GSTREAMER_PATH}/include/gstreamer-1.0
|
||||
win32-g++:GSTREAMER_1_0_LIBS = -L$${GSTREAMER_PATH}/lib -lgstreamer-1.0
|
||||
win32-msvc:GSTREAMER_1_0_LIBS = /LIBPATH:$${GSTREAMER_PATH}/lib gstreamer-1.0.lib
|
||||
|
||||
GSTREAMER_VIDEO_1_0_INCLUDEPATH = $${GSTREAMER_PATH}/include/gstreamer-1.0
|
||||
win32-g++:GSTREAMER_VIDEO_1_0_LIBS = -L$${GSTREAMER_PATH}/lib -lgstvideo-1.0
|
||||
win32-msvc:GSTREAMER_VIDEO_1_0_LIBS = /LIBPATH:$${GSTREAMER_PATH}/lib gstvideo-1.0.lib
|
||||
|
||||
GSTREAMER_GL_1_0_INCLUDEPATH = $${GSTREAMER_PATH}/include \
|
||||
$${GSTREAMER_PATH}/lib/gstreamer-1.0/include
|
||||
win32-g++:GSTREAMER_GL_1_0_LIBS = -L$${GSTREAMER_PATH}/lib -lgstgl-1.0
|
||||
win32-msvc:GSTREAMER_GL_1_0_LIBS = /LIBPATH:$${GSTREAMER_PATH}/lib gstgl-1.0.lib
|
||||
|
||||
# Extra dependencies:
|
||||
# glib-2.0, gobject-2.0 (required by gstreamer-1.0)
|
||||
# gstreamer-base-1.0 (required by gstreamer-video-1.0)
|
||||
|
||||
GLIB_2_0_INCLUDEPATH = $${GSTREAMER_PATH}/include/glib-2.0 \
|
||||
$${GSTREAMER_PATH}/lib/glib-2.0/include
|
||||
win32-g++:GLIB_2_0_LIBS = -L$${GSTREAMER_PATH}/lib -lglib-2.0 -lintl
|
||||
win32-msvc:GLIB_2_0_LIBS = /LIBPATH:$${GSTREAMER_PATH}/lib glib-2.0.lib intl.lib
|
||||
|
||||
GOBJECT_2_0_INCLUDEPATH = $${GSTREAMER_PATH}/include
|
||||
win32-g++:GOBJECT_2_0_LIBS = -L$${GSTREAMER_PATH}/lib -lgobject-2.0
|
||||
win32-msvc:GOBJECT_2_0_LIBS = /LIBPATH:$${GSTREAMER_PATH}/lib gobject-2.0.lib
|
||||
|
||||
GSTREAMER_BASE_1_0_INCLUDEPATH = $${GSTREAMER_PATH}/include/gstreamer-1.0
|
||||
win32-g++:GSTREAMER_BASE_1_0_LIBS = -L$${GSTREAMER_PATH}/lib -lgstbase-1.0
|
||||
win32-msvc:GSTREAMER_BASE_1_0_LIBS = /LIBPATH:$${GSTREAMER_PATH}/lib gstbase-1.0.lib
|
||||
|
||||
INCLUDEPATH += $${GSTREAMER_1_0_INCLUDEPATH} \
|
||||
$${GSTREAMER_VIDEO_1_0_INCLUDEPATH} \
|
||||
$${GSTREAMER_GL_1_0_INCLUDEPATH} \
|
||||
$${GLIB_2_0_INCLUDEPATH} \
|
||||
$${GOBJECT_2_0_INCLUDEPATH} \
|
||||
$${GSTREAMER_BASE_1_0_INCLUDEPATH}
|
||||
|
||||
LIBS += $${GSTREAMER_1_0_LIBS} \
|
||||
$${GSTREAMER_VIDEO_1_0_LIBS} \
|
||||
$${GSTREAMER_GL_1_0_LIBS} \
|
||||
$${GLIB_2_0_LIBS} \
|
||||
$${GOBJECT_2_0_LIBS} \
|
||||
$${GSTREAMER_BASE_1_0_LIBS}
|
||||
} else {
|
||||
QT_CONFIG -= no-pkg-config
|
||||
CONFIG += link_pkgconfig debug
|
||||
PKGCONFIG = \
|
||||
gstreamer-1.0 \
|
||||
gstreamer-video-1.0 \
|
||||
gstreamer-gl-1.0
|
||||
}
|
||||
|
||||
android {
|
||||
CONFIG += static
|
||||
|
@ -30,8 +81,10 @@ SOURCES += \
|
|||
gstplugin.cc \
|
||||
gstqtglutility.cc \
|
||||
gstqsgtexture.cc \
|
||||
gstqtoverlay.cc \
|
||||
gstqtsink.cc \
|
||||
gstqtsrc.cc \
|
||||
qtglrenderer.cc \
|
||||
qtwindow.cc \
|
||||
qtitem.cc
|
||||
|
||||
|
@ -39,7 +92,9 @@ HEADERS += \
|
|||
gstqsgtexture.h \
|
||||
gstqtgl.h \
|
||||
gstqtglutility.h \
|
||||
gstqtoverlay.h \
|
||||
gstqtsink.h \
|
||||
gstqtsrc.h \
|
||||
qtglrenderer.h \
|
||||
qtwindow.h \
|
||||
qtitem.h
|
||||
|
|
Loading…
Reference in a new issue