Useful Links Related to MINGW
Rather than wait for someone to migrate the community links from the old wiki. I'm starting from scratch and hoping any useful links that still work on the old wiki will eventually be added by the community.
As with the previous wiki page, please add links you think would be useful to the MinGW community. If you find errors or out-of-date links, please help fix them.
- Reference on STL  This is a different version of STL than used by MinGW but the basics are the same.
- Gnuwin32 libraries  Many of the GNU libraries and programs patched and recompiled for MinGW.
- Devpaks repository  Libraries for the Dev-C++ compiler which uses MinGW. Could also be used without Dev-C++. Files should be standard tar.bz2 files renamed with .devpak extension.
- OpenSuse Windows Packages  Windows packages cross-compiled using MinGW on OpenSuse and the OpenSuse Build System (OBS).
- ezwinports  Ports of Unix and GNU software to MS-Windows.
- relocatable libintl  Relocatable libintl for MinGW.
- freeglut  Open Source alternative to the OpenGL Utility Toolkit (GLUT) library. Builds with MinGW (./configure --with-x=no).
Cross-platform GUI Libraries
- Fast Light ToolKit  (fltk)
- Fox Toolkit 
- QT  Look for the LGPL version.
- WXWidgets 
- Simple Directmedia Layer  (SDL)
- SDL-widgets  GUI toolkit for SDL.
- Simple and Fast Multimedia Library  (SFML)
- Public Domain Curses  (PDCurses) Console based GUI also alternatively works on top of SDL library. A version is also available in the MinGW repository at Sourceforge.
- PDCurses for "real" Windows  A PDCurses fork for Win32 (not console mode).
- OWLNext  Object Windows Library Next, C++ application framework with easy migration path for Borland OWL applications.
- Ultimate++  C++ cross-platform framework.
- POCO  General purpose library providing network, parsing, threading, security, database and other functionality.
- Nana  C++ GUI Framework.
- GraphApp  Toolkit for platform-independent graphical user interface programming in the C language.
- Anti-Grain Geometry  Open Source, free of charge graphic library written in industrially standard C++ for Win32 and X11. Includes example SVG viewer.
- Crazy Eddie's GUI System  C++ library providing windowing and widgets for graphics APIs/engines.
- Guichan  portable C++ gaming library for Allegro, SDL and/or OpenGL
- AntTweakBar  GUI library for OpenGL and DirectX applications.
- Agar  Cross-platform toolkit for graphical applications.
- LibUFO  Universal Form Objects, C++ core library for forms.
- V GUI  V GUI library and IDE (VIDE).
- Windows++  Source code from book on how to create your own Windows framework library.
Notes on gtk+: GTK+ is moving from version 2 to version 3. I found support for Windows development for gtk+ 3 not only lacking, but antagonistic to the Windows developer community. I also found them unwilling to correct issues that kept their libraries from compiling out of the box on Windows systems. While Tor Lillqvist has been great about supporting the Windows community with his Gtk+ 2 builds in the past, I believe things are changing with Gtk+ support. I highly recommend looking into other GUI libraries before considering development with Gtk+. I'm keeping these links for gtk+ here and up-to-date purely for reference purposes only.
Libraries Offering Some POSIX Functionality
- PCRE  Regular Expressions. See the readme.txt for information on renaming headers on Windows to substitute for standard POSIX regex headers. JIT support was recently added to improve performance in comparision with re2 based solutions and other options.
- libdl  POSIX wrapper for dynamic link library functions.
- mman-win32  A light implementation of the mmap functions for MinGW. (Browse the Source for the relevant files.)
- pthreads  POSIX thread library for Win32.
- Simplified Pthread Emulation with Macros  Minimal pthread emulation.
- UNIXem  UNIXem: UNIX Emulation Library for Win32. Win32 versions of several Unix/Linux functions such as glob, dlfcn, mmap and more.
- pw32  POSIX over Win32 library.
- Hypertable  Large scale (non-SQL) database for web and other use.
- XBase  dBase/Clipper/FoxPro compatible C++ database library.
- QDBM  C database library using hash tables/B+trees licensed as LGPL. Offers NDBM, GDBM compatibility APIs.
- hamsterdb  Lightweight embedded "NoSQL" key-value store.
- ODBC can be used with MinGW and for cross-platform applications, here are some ODBC resources for non-Windows platforms.
- International Components for Unicode  Unicode library.
- ffmpeg  Information on building ffmpeg and libraries it uses. Also, tips on using ffmpeg in your on projects.
- mplayer  Tips on building mplayer and libraries it needs using MinGW.
- ptex  Disney's 3D modeling library (used in some of their movies) released under BSD license.
- Open Source Flash Projects and libraries  Projects ming, xml2swf, libswf build on mingw (though some need a few patches listed at Sourceforge under Forums (see Discussions sections)). Other projects may build as well.
- Dirac/Schrodinger codecs  Open and royalty free video compression and decompression software created by BBC research (part of the British Broadcasting Corp). Dirac is in C++ and Shrodinger (which aims for high performance) is in C.
- Ogg Theora  Open Source video compression.
- VP8 codec SDK  Google's Open Source answer to the proprietary video compression/decompression issue. Expect to see it integrated with Flash and HTML5 video standards.
- Using freeglut with mingw  Setup information and examples using freeglut.
- HGE  Haaf's Game Engine is a hardware accelerated 2D game engine which works with DirectX.
- SDL_image  Image file loading library for SDL.
- SDL_gfx  Graphics primitives (line, circle, rectangle etc.) with AA support, rotozoomer and other drawing related support functions wrapped up in a C based add-on library for the Simple Direct Media (SDL) cross-platform API layer.
- SDL_svg  SVG library for SDL. Latest version is at the same site not the Sourceforge site.
- SDL_draw  Drawing primitives for SDL.
- smpeg  mpeg decoding library which runs on just about any platform. Works with SDL. Mainly for MPEG-1 standard (not encumbered by patents like MPEG-2).
Internet and Web Libraries
- Wt  (pronounced as witty) is a C++ library for developing interactive web applications. Lets you program in C/C++ server side instead of using alternative languages like Ruby or Perl.
- Netcat  is a featured networking utility which reads and writes data across network connections, using the TCP/IP protocol.
- Xerces-C++  XML parser from apache.org
- TinyXML  Small C++ XML parser. Check the MinGW csv files for latest source. TinyXML is used by mingw-get
- POCO  General purpose library providing network, parsing, threading, security, database and other functionality.
- SFL  (Standard Function Library) is a portable function library for C/C++ programs. Provides a wide variety of functionality from string manipulation and searching to directory access to compression to socket and Internet programming and more.
- Boost  Peer-reviewed portable C++ source libraries.
- APR  Apache portable runtime project creates and maintains software libraries that provide a predictable and consistent interface to underlying platform-specific implementations.
- Wine on MinGW  Some information on an attempt to get Wine and some of the X11 libraries working with MinGW and msys.
- LM BLD  is a project to automate building of cross-platform and portable (as in portable apps) Open Source software. Some of the Open Source that has been built by the project for Windows include various X libraries including libX11 and xorg-xserver's XWin server. These have been built using X.Org code and MIT licensed patches, so no GNU licensed emulation layers are required.
- C++ Snippets  There are also C Snippets. (The original site is down, but still accessible via archive.org.)
- C Snippets  Hosts some of the code from C Snippets plus some other C related snippets.
- DrMingw  Just in time debugging tool. Helps find where an error is in the source code when a program crashes. Check this wiki for more information on using it and for information on creating map files to use with it. There's also information on it in the Another MinGW FAQ reference listed below.
- Dr Memory  Cross-platform memory debugger. Includes drstrace, an strace tool for Windows.
- Pexports  MinGW distribution's version of pexports. The pexports program can be useful when trying to link to dlls that were created by other compilers.
- MinGW packages repository  There's a copy of pexports under altbinutils-pe. The pexports program can be useful when trying to link to dlls that were created by other compilers.
- Console 2  Command prompt replacement. May be used with cmd.exe or rxvt or other shells.
- ConsoleZ  Console 2 fork with improved support for Windows Vista/7/8.
- ConEmu  Console emulator. Unlike Console 2, this has a build file for gcc.
- Plan 9 Utilities  Ports for MinGW of utilities and libraries from Plan 9. Plan 9 includes an optimized mk program that can serve a similar purpose to GNU make when building programs plus other useful programs.
- diffh  Easy to read file difference tool. Works in conjunction with diff (available with msys). Outputs differences between two files side by side in HTML. Handles files with long lines very well.
- lesspipe  Enhancement for less in the msys environment. Lets you view all kinds of files not just text.
- Searchmonkey  Search tool with regular expression support similar to grep but providing a GUI interface. To build the most stable GTK version, use 0.8.1  source code available from the Downloads section under Compile from source. Newer QT version now available.
Quick User Interface Utilities
- Gui It !  WxWidgets based front ends using simple XML configuration files.
- Dialog  How To for building Dialog on OpenWatcom. It builds on MinGW with msys just as well. However, a few of the lines in the OpenWatcom patches for handling directory structures differently aren't needed. Dialog provides console GUI interaction for batch and shell scripts.
- yad  Yet another dialog, this is a fork of zenity with many added features. Uses GTK+ 2 to offer Windows look and feel for user interface objects and offers cross-platform use. Support for MinGW has been added to the source code.
- zenity  This provides a simple GUI interface for batch and shell scripts. It's been ported from POSIX systems to work with MinGW, msys and GTK+ 2. Similar to Dialog, but possibly less functions.
- gxmessage  Builds with MinGW and msys if GTK libraries are installed. Similar to Dialog but slightly different functionality.
- Xdialog  Builds with MinGW and msys if GTK libraries are installed. Dialog port using GTK instead of pdcurses. Use following configure options: ./configure --with-gtk2 --with-scanf-calls.
- gtkdialog  Has much more functionality than Dialog or Zenity. Compiles and builds fine with MinGW and msys. However, when run to produce a dialog through a script, it hangs, presumably due to threading issues on Windows. Tried adding -mwindows -mthreads to CFLAGS and -lpthread to the libraries, but worked the same. If someone comes up with a good work-around, this is a great tool for scripting and a nice way to provide a GUI for command line C/C++ programs.
- LM BLD ui patches  Patches to cross-platform portable browsers so that they can be used as user interfaces. Offers the ability to create user intefaces with basic HTML and CSS. Can work with UTF-8 files to support internationalization.
Unix Style Utilities
- Busybox-W32  Port of Busybox (common Unix style utilities) for Windows.
- Unix Utilities  Ports of common Unix utilities.
- X server  Port of X Windows server for Windows.
- bash  Bash shell for Windows
- UnixToolsForWindows  Windows Native C++ versions of Unix utilities following Open Group specifications. Includes Boost.Spirit sh based on BASH 2.0 BNF grammar.
- KpyM Telnet/SSH Server ( KTS )  Open Source ssh and telnet server for Windows. Source is available when you install. Older version of source is also available at http://sourceforge.net/projects/kpym/ 
- http://heirloom.sourceforge.net/  Traditional implementations of Unix utilities. May require porting to Windows, but could make a good base or reference for source code for some of these utilities.
Several utilities related to building, installing and version control are available.
Build Utilities - Install
- spkg  Spkg is a package manager based on Slackware pkgtools. It's written in C so it's faster than the pkgtools scripts. It works on Windows or Linux providing a cross-platform solution to package management. Lets you keep track of, install and uninstall libraries and programs on your system. Also keeps track of versions of libraries installed and what files are installed so they can be easily uninstalled or updated with spkg. Works with standard tarball files (created with tar and gzip or bzip or lzma). You can set ROOT environment variable to point to your top level msys directory. Note: If you're using this with msys make sure your packages (tarballs) don't use any virtual directories under msys (such as /usr/bin) or edit your /etc/fstab file so that the actual physical directories can be seen and used within msys.
- depot_tools  Used to manage source code such as Google's Chromium. One of the tools, gclient , manages dependencies checked out from different repositories. You can use depot_tools to download and install mingw and msys. See http://www.webmproject.org/code/build-prerequisites/  section on Using MSYS for more information.
- Wix  A set of open source tools that compiles XML into Windows Installer based installers (.MSI), patch files (.MSP), transform files (.MST), and merge modules (.MSM).
Build Utilities - Version Control
- msysgit  Git source code management for Windows.
- monotone  Version control system with notes on installing and building with MinGW.
Build Utilities - Building
- dmake  Make utility similar to GNU make. Used by projects such as OpenOffice and Perl. Can substitute for GNU make.
- cmake  Cross-platform Open Source build system. Can output makefiles compatible with gnu make and MinGW.
- premake  Generates cross-pltaform project and makefiles.
- sln2mak  Can convert some Visual C++ project files to GNU makefiles.
- scons  Software construction tool using Python.
- bsdbuild  Portable build system derived from BSD share/mk files. Works with Bourne shell (or shell supplied with msys) and make. Can interface with other build systems as well.
- smake  Schily makefile tool used by cdrecord project as a portable make utility.
- jam  Programming building utility that can replace make. C Source for jam  is available and will work on MinGW with some patching.
Build Utilities - FreeDesktop.org Standards Related
- pkg-config-lite  pkg-config without the circular glib dependency.
- pkgconf  compiler and linker configuration for development frameworks. Offers similar functionality to pkg-config, but completely written to be more efficient.
Build Utilities - Miscellaneous
- jlibtool  libtool replacement. Written in C, so it can help builds run faster than they would with libtool.
- cDetect  Use C instead of configure (which can require bash, Perl, m4 and other dependencies) to create config files (config.h) and detect platform features.
Build Utilities - How To Build with MinGW and Msys
- Evolution  How to build Evolution.
- autohotkey  Compiling autohotkey with gcc (MinGW).
- Tuxpaint  How to build Tuxpaint and several helper libraries with MinGW and msys. Includes patches and instructions for some common libraries.
- Spidermonkey 1.8.5 MinGW  How to build Spidermonkey 1.8.5  with MinGW. Build descriptions for other useful software also available at the site.
- Perl patch  Patch to build Perl using the Microperl build method (make -f Makefile.micro).
- SciTE  Everyone has their favorite programming editor and this one's mine. It's highly configurable and functionality can be extended using LUA scripts. Here's a page with some configuration tips that might help get you started: SciTE Tips 
- VIM  VI has been around for ages. VIM is VI improved. With new features such as tabs, this looks like it might be every bit as configurable as SciTE if not more configurable (but takes much longer to configure than SciTE). Gvim is the GUI version of VIM. There's also an older version CREAM at Sourceforge with a more Windows friendly user interface for Gvim. If you run across any good tips on configuring Vim or Gvim with MinGW, please post the links.
- Textadept  Cross-platform editor includes a console version.
- Fxite  Lightweight cross-platform GUI editor. Should perform well on older systems.
- CodeLite  Cross-platform IDE, includes a GUI front end for gdb.
- Windows Sockets 
- Windows Socket Programming Tutorial  Copy of no longer active site at archive.org
- Programming Language Examples Alike Cookbook  This looks like it could become a nice reference for C++ programmers and a good way to compare languages and find tips for converting between them. However, the C++ information is currently rather sparse. Maybe some MinGW C++ programmers can volunteer to help out this project.
Tools from other Windows compilers can often be very useful with MinGW too.
- Open Watcom  Check out their interactive debugger and icon editor. Also check out their C/C++ and Win32 documentation.
- lcc-win32  I haven't confirmed this, but it's rumored to have a graphical resource editor. This is a C only compiler (not C++), but resources are resources. Also, check out the C and Win32 documentation.
- MinGW cross compiling environment  The project builds a MinGW cross compiler and cross compiles many free libraries such as GD, SDL and Qt in static form. Runs on Linux systems.
- HX Dos Extender  The web site says its compatible with MinGW. The extender gives a way to run simple Win32 GUI apps in DOS.
- KernelEx  This is an Open Source project that creates a compatibility layer for Windows 98 and Windows ME machines that allows them to run programs specifically aimed only at later versions of Windows such as Windows 2000 or Windows XP.
- Another MinGW FAQ  The original MinGW FAQ revised and updated. Lists information the author of the FAQ found useful when working with MinGW.