[gst-devel] Compiling the WIN32 DEPS for gstreamer

Steve Lhomme steve.lhomme at free.fr
Mon Nov 15 07:01:05 CET 2004

Larry Berlinski a écrit :
> I ran into a couple of problems compiling them, all of which I was able to overcome.
> I'm compiling on a W2K machine using the Visual Studio .NET 2003 Command Prompt that came with MS Development Environment 2003 V 7.1.3

I use the same one, but usually not in command-line. Note that the free 
command-line version of MS compiler cannot create DLLs and use the DLL 
runtime. So it cannot build the GStreamer parts... So makefiles for 
nmake should be generated instead of the GNU Make ones, as nmake ships 
with MSVC.

> Instead of the the directory structure you suggest (i.e., C:\usr etc.), I created a directory structure of C:\gstreamer\usr ... etc. into which I expanded your gstreamer-win32-deps-3.rar archive.
> The first problem was the environment variables, PREFIX and IIPREFIX used by the makefiles were getting nulled during the make process. Since a number of the makefiles present all had logic to insure that PREFIX and IIPREFIX were present and to default to the c:\usr hierarchy you have set up, I found it necessary to issue a SET PREFIX=C:\gstreamer\usr and SET IIPREFIX=C:\\gstreamer\\usr before I issued the NMAKE -f makefile.msvc DEBUG=1 command. This kept these environment variables around for each makefile process.

Yes, the main makefile includes this :
!if !defined(PREFIX)
PREFIX = c:\usr
!if !defined(IIPREFIX)
IIPREFIX = c:\\usr

It's even documented on the top of the main makefile of the dependencies.

> That got me through almost to the end, until the process attempted to execute the "glib-genmarshal --nostdinc --prefix=g_cclosure_marshal gmarshal.list --header >> xgen-gmh" command. It failed because it couldn't find the intl.dll in the path. 
> I found three such DLL files: one was in the c:\gsteamer\usr\bin directory, another was in the "gstreamer-deps-src\gettext\gettext-runtime\intl" and another was in the "gstreamer-deps-src\gettext\gettext-tools\intl" directory. The last two dll's were created during the deps make.
> I overcame this problem by adding c:\gstreamer\usr\bin to the PATH. The make completed without errors. BUT did I use the right DLL?

Yes. the "bin" directory of GStreamer has to be added to the PATH. The 
same goes for the "plugins" directory in the GStreamer directory 
hierarchy (when installed).

> Did you compile gstreamer under MSVC or under cygwin or msys? I attempted to compile under msys, but configure said I was missing a suitable version of python and bison was missing altogether.

Only MSVC with NMAKE (dependencies) and GNU Make on command-line (maybe 
the makefiles are not kept up to date).

> What did you do to get python and bison ported to windows?

See http://mukoli.free.fr/gstreamer/ :

" NOTE : GNU tools needed that you can find on 
- GNU flex
- GNU bison
and http://www.mingw.org/
- GNU make "

I didn't use python at all, nor Perl.

More information about the gstreamer-devel mailing list