Re: Strange initialization problem with Gtk::Main



On 29/10/2013 17:12, Murray Cumming wrote:
Are you trying to instantiate a gtkmm type before gtkmm has been
initialized? For instance are you using a gtkmm type in a global static
object?


Not that exactly but essentially I think that's the problem. The program that works is a very simple exe which doesn't need to link to external DLLs. The one which fails is much more complex and it needs to link to several other DLLs - but some of those DLLs also link to glibmm and giomm. Remember that (up until today) I'd build glibmm and giomm as static libs (mainly for simplicity). So I think what's happening is that giomm gets initialised (probably in the main exe) then later, one of the DLLs makes a giomm call - but whatever giomm code is in the DLL hasn't been initialised yet so the call fails. I've now managed to build glibmm as a DLL and I'll rebuild giomm tomorrow, along with pangomm, cairomm et al. My only concern is that the 'gendef' approach seems to be exporting a lot of stuff which seems unnecessary (such as std::vector / std::bad_alloc etc) so I'm fearful that by the time they're all rebuilt as DLLS there might be a lot of duplicated symbols when I come to re-link the main program :-(

Time will tell and hopefully namespacing might come to my rescue! I should have a better handle on this tomorrow.

John


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]