Installer, documented
For a long time Cedric Gustin provided a popular gtkmm installer for Windows. But he hasn’t had time for that since gtkmm 2.10, so there was no gtkmm 2.12 installer for Windows.
I encouraged others in the community to take over this work, but I eventually asked Armin, one of our Openismus developers, to get it done, with advice from Cedric. He recently blogged about creating that gtkmm 2.14 windows installer. I also asked him to document exactly what it provides, what to distribute with your application, and how the installer was created. See the gtkmm on Windows page, and the Building gtkmm on Windows page.
The installer and the documentation have been through a few iterations of feedback from me and then from the mailing list, so please do tell us if it’s unclear or missing information, or missing something that you need.
Multiple compilers
It looks like we must provide a MS Visual Studio 2008 build as well as a MS Visual Studio 2005 build, so Armin is working on that. Although the compilers are compatible, developers will expect our DLL to link to the new (parallel-installed) version of the MSVC++ runtime libraries, and accidentally linking to both runtime libraries in an application is probably no fun. If we are wrong about that then please do tell us, to save us some work.
I am also concerned that we may need to provide various builds for the various versions of gcc for the MinGW build. Or maybe we should just support the latest one. Unfortunately two users have even reported an incompatibility between g++ 3.4.2 and g++ 3.4.5 in MinGW – they had to upgrade the compiler to catch exceptions from gtkmm when using our DLLs. That shouldn’t be necessary.
For all these various versions, we need to invent DLL naming conventions. But I’d rather take someone else’s conventions. Is there any other C++ library that has an equivalent installer that doesn’t just force you to use one particular compiler? Qt seem to provide only the source code. That’s just enough, but it isn’t very convenient.
Development is so much easier on Linux.