Development of GStreamer on Windows?

Scott D Phillips scott.d.phillips at intel.com
Mon Oct 31 18:38:42 UTC 2016


On Mon, Oct 31, 2016 at 07:04:13PM +0800, Pavel Bludov wrote:
> 31.10.2016 06:32, Nirbheek Chauhan пишет:
> > I think we can get it working with pure MSVC with a little
> > work.
> >
> 
> Could you, please, make it less archaic?
> 
> For now, GStreamer binaries for Windows are built with mingw-4.7
> or msvc-2010.  Both of them are more then five years old.
> Everyone, who wants to use GStreamer _and_ Qt, are stuck with Qt
> 5.0 (mingw) or Qt 5.5 (msvc).  While the  msvc binaries are
> quite usable, the mingw binaries aren't, since Qt 5.0 lacks many
> modules.
> 
> It would be great to upgrade the toolchain to something more
> modern.

I was able to use gst-build with msvc from visual studio 2015,
using binaries from msys2 for the dependencies. I don't have my
windows machine on hand to write up the full list of steps, but
it's something like:

1. Install python and add it to PATH
2. Install git and add it to PATH
3. Download ninja-build and add it to PATH
4. Install msys2
5. Install dependencies in msys2. You want the packages whose
names start with mingw-w64-x86_64- when those are present. You
want glib, libxml2, pkg-config, bison, possibly some others.
6. Run this python script to make link.exe compatible versions of
the mingw64 import libraries:

https://github.com/scott-d-phillips/mingw_make_libs/blob/master/make_libs.py

7. Open a "Native x64 tools" command prompt from visual studio.
8. Append ;C:\msys64\mingw64\bin;C:\msys64\usr\bin to PATH
9. git clone gst-build
10. git clone meson inside the gst-build directory
11. run:

 py setup

 ninja -C build

And then you should have gstreamer built with msvc. You can use
the gst-uninstalled script to set up most of the environment, but
you will need to make an additional directory under build called
`dlls` or something, copy all the built .dll files there and add
it to PATH. Also you might need to move the C:\msys64 directories
from the end of PATH to the front at this point, I had a
conflicting version of zlib1.dll from some other directory in the
middle of my PATH.

It's a bit rough but with a little effort I think building with
msvc will be super easy with meson.


More information about the gstreamer-devel mailing list