Good progress with GTK+ and the return of a Windows development environment

GTK+ is proving to be a very good GUI API for C – this really goes without saying given how GIMP, gedit, WMWare and various other applications have been built with it.

I have nearly reached the point where all previously implemented functionality is accessible via the GUI. In fact, if everything goes to plan, I intend to revert to the difficult issue of video transcoding tomorrow

At the moment, I am attempting to get FFmpeg to compile using MinGW under Windows 7. This is a precursor step in attempting to get the work I have developed to compile on both Linux (specifically Ubuntu) and Microsoft Windows.

I started writing this blog post at the time that MinGW was chewing over the _ ./configure _ command. Getting to this stage has required carefully reading FFmpeg’s installation guide and other instructions on how to get various other tools such as pkg-config to work.

There are the steps I have attempted thus far:

  1. MinGW and yasm were already set up on my system, so I skipped over the commends mentioned by the FFmpeg install guide.

  2. Likewise, I already use Git, so my next step was to disregard the installation instruction and add the Git directory to the PATH variable in windows so that it can be accessed from outside of Git Bash.

  3. Next, set up SDL by downloading it from libsdl.org and running:
    configure --prefix=/c/mingw
    make
    make install

  4. With this complete, I then went about setting up pkg-config. It’s not elegant, but this is what worked for me:

    1. Download pkg-config.exe and copy to /MinGW/bin
    2. Install GLIb DLL, also to /MinGW/bin
    3. This last step is quite important. As it stands, pkg-config still has unresolved dependencies. To resolve this duplicate /MinGw/bin/libintl-8.dll to /MinGw/bin/intl.dll
  5. Download and extract FFmpeg source to a directory (e.g C:\FFmpeg)

  6. Navigation to that directory and run ./configure

So far, so good – now I wait to see if ./configure works... and it does!

  1. The penultimate step: make
    And this is where  I hit a snag... I get a complain regarding the use of "use warnings" in doc/texi2pod.pl:26 (a perl script) – however this is only documentation stuff. So at this point I ignore this and proceed to the next step.
  2. Finally: make install
    My slight "snag" hasn’t caused a problem, I now have a compiled version of FFmpeg, with any luck I can go onto compiling my own code.

There we go... FFmpeg compiles under Windows.