On Mon, 2013-10-28 at 18:42 +0000, John Emmas wrote:
> Forgive me if this isn't the right place for asking questions about 
> glibmm.  I couldn't find a specific mailing list for it.
> 
> I have 2 x gtkmm applications, both written using MSVC.  I should add 
> that I have several years experience with MSVC, glib, gtk and glibmm/gtkmm.
> 
> Pretty much the very first thing that both apps do is to create a 
> Gtk::Main object.  However, the smaller app just creates a local (stack 
> based) object as the first thing in main().  The larger app allocates a 
> Gtk::Main object using 'new()'.  Both methods result in a call to 
> 'Gtk::Main:init()' which, in turn, results in a call to 
> 'Gtk::Main::init_gtkmm_internals()'.  Both functions can be found in 
> 'gtk/gtkmm/main.cc'.  'init_gtkmm_internals' then calls 'Gio::init()'' 
> which then calls 'Gio::wrap_init()' (which is in 
> 'glibmm/gio/giomm/wrap_init.cc').  So far, so good.
> 
> AFAICT the execution path is absolutely identical for both programs.  
> The same functions get called in the same order with no apparent 
> problems - BUT - at line 456 of 'gio/giomm/wrap_init.cc' there's a 
> comment which says:-
> 
>        // Register the gtkmm types
> 
> That comment is followed by around 100 calls to "whatever::get_type()".  
> In the small app, every call succeeds.  In the larger app, every call 
> fails and I'm totally baffled as to why. One possible explanation is 
> that for simplicity, I built gtkmm and glibmm as static libs, rather 
> than DLLs.  At the time I remember getting told that to build as Windows 
> DLLs I needed a utility called "gendef" but there was some doubt about 
> how diligently it was being kept up-to-date, so a static library build 
> seemed simpler - but now I'm not so sure....
> 
> In the smaller app it makes no difference as everything is contained in 
> the main exe.  But the larger app uses some DLLs.  Some of those DLLs 
> (and the main app itself) need to link to glibmm and gtkmm so of course, 
> each will have its own copy of glibmm and gtkmm, rather than them being 
> shared objects.  Could that be causing a problem like this??

What is the actual problem that you are seeing?

-- 
Murray Cumming
murr...@murrayc.com
www.murrayc.com
www.openismus.com

_______________________________________________
gtkmm-list mailing list
gtkmm-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtkmm-list

Reply via email to