Revision of Community_Supplied_Links from 2011, September 15 - 16:38

Printer-friendly version

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.

Libraries

  • 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).

Cross-platform GUI Libraries

Libraries Offering Some POSIX Functionality

Database Libraries

  • Hypertable Large scale (non-SQL) database for web and other use.
  • XBase dBase/Clipper/FoxPro compatible C++ database library.
  • ODBC can be used with MinGW and for cross-platform applications, here are some ODBC resources for non-Windows platforms.
    • iODBC Independent Open DataBase Connectivity.
    • unixODBC ODBC resources for non Windows platforms.

Internationalization Libraries

Multimedia Libraries

  • 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.

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.

XML Libraries

  • 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

General Libraries

  • 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.

Misc Libraries

  • Wine on MinGW Some information on an attempt to get Wine and some of the X11 libraries working with MinGW and msys.
  • V8 Google's Open Source JavaScript engine in C++.
  • SpiderMonkey Building SpiderMonkey on MinGW. Mozilla's JavaScript C engine.

Utilities

  • C++ Snippets There are also C 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.
  • 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.
  • 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.
  • v8cgi Cross platform server side and batch processing Javascript implementation with BSD license. Provides an alternative to Bash or DOS batch scripts.

Quick User Interface Utilities

  • 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.

Unix Style Utilities

Build 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
  • 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.
Build Utilities - How To Build with MinGW and Msys

Programming Editors

  • 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. 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 them below.

Tutorials

Other Compilers

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.

Miscellaneous

  • 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.

More Information

  • Another MinGW FAQ The original MinGW FAQ revised and updated. Lists information the author of the FAQ found useful when working with MinGW.

Re: Community_Supplied_Links

Well, I got the page started, but now that it's up, I cannot seem to edit the original information to correct any of it. Am hoping whoever's maintaining this wiki will look into this issue and fix the Edit feature. Otherwise, there's no clean way to keep the information in the wiki pages up-to-date. Thanks.

Re: Community_Supplied_Links

earnie's picture

I don't understand the problem. What happens when you click the Edit tab?

Re: Community_Supplied_Links

The wiki does not allow me to fill in the title field. It automatically fills it in for me. However, when I go to save or preview, it loses this information and says Title field required. The changes will not save.

How to Compile User Defined Libraries in MinGW

How to compile a program with no main() function in MinGW.

In turbo C we used tlib.exe

Re: How to Compile User Defined Libraries in MinGW

keith's picture

You'll have to describe your problem in much more detail, but this isn't the place to do it; use the mailing list.

Re: Community_Supplied_Links

keith's picture

Perhaps related?

When I add a new reference, e.g. in HOWTO, then click on it in "preview" I used to be invited to create the new page; now all I see is a "page does not exist" message. I have to use the "Create content" menu to create the new page, which is much less convenient than the former behaviour.

FWIW, I don't seem to have a problem editing and saving existing pages, but I do already have the privilege to modify page titles.

Re: Community_Supplied_Links

earnie's picture

I've found where the issue exists, I don't have a complete solution as yet. Laura, I've given you a special permission which allows you to update titles; I ask that you please refrain from doing so. This will allow you to edit the page. I will search for a solution to this problem.

Re: Community_Supplied_Links

earnie's picture

Thanks for contacting me Laura. I've filed a bug report with Drupal. The form API within Drupal core is at fault. I've modified the one function that involves the title field to DTRT in a Q&D way so it now works for everyone.

Re: Community_Supplied_Links

earnie's picture

I love computers! ;p Well the people that program them anyway. I'll look for a solution ASAP.

Re: Community_Supplied_Links

Looks like the title bug is back. I can't update the wiki page without getting information that the title is required and I can't edit or add a title.

Site Status

Site maintenance completed May 25th, 2012 at 12:38 UTC