A couple of days ago I made the usual bunch of *mm releases for GNOME 3.18, including glibmm 2.46 and gtkmm 3.18, wrapping glib and GTK+ for C++. This adds the usual collection of new API from glib and GTK+, but the big change is the use of C++ 11.
Until C++11 is the default for g++, you’ll probably want to use the AX_CXX_COMPILE_STDCXX_11() autoconf macro. For instance, I used this to use C++11 in PrefixSuffix. Most people won’t need to make any other changes to their code or to their build. You won’t notice any change unless you care about using C++11 features.
Using C++11 in gtkmm and friends has been the most fun I’ve had with gtkmm since I had to delve deep into the GObject lifecycle back during gtkmm 1.2. I even made actual code changes to libsigc++, which I’m usually afraid to touch even though I’m the official maintainer.
Learning in general about the deep implications ofÂ C++11’s new features reminded me how much I enjoyed learning about C++ at the beginning. It’s once again an interesting time for C++.
4 thoughts on “gtkmm 3.18 and glibmm 2.46”
Hello, may I ask you if you use any tools to generate the bindings (there is something about .def files on the documentations, but honestly I found it a but too complex :-() from gobject to c++.
I am asking you because I am using a library written in C (libostree) but which offers an gobject interface, which I currently I use with python but due performance issues I need to migrate to C++ and it would be nice if it was wrapped o it. The reasons are obvious :-)
It would be amazing If I could generate c++ code from the introspection file during compile time as I pyobject does in runtime.
If you want to wrap a GObject library for C++ then you should really do it the *mm way. The documentation isn’t really that bad, and there are many *mm projects to look at, even if the tools are awkward:
And you can get help on the mailing list on maybe irc.
Thanks for the reply, I’ll try that :-)