> To John and codekiddy: There are previous discussions on gtkmm-list about strange problems with gtkmm and MSVC. Don't know how relevant these links are:
Hi, thanks a lot for providing these links, reading right now, the /vd2 flag is what I will consider soon, recompile libraries and do some experiments. Too bad I can't debug the code and figure out things in such big codebase where I have no experience. Hopefully some of these suggestions will turn out positive results. For now I can live without atkmm support in my projects (as for me), but it's so sad this can't be solved the easy way and make gtkmm and other libs fully compatible for MSVC compilers. On Thu, Nov 19, 2015 at 3:35 PM, Kjell Ahlstedt <[email protected] > wrote: > Den 2015-11-18 kl. 22:51, skrev John Emmas: > > On 18 Nov 2015, at 19:24, Kjell Ahlstedt wrote: > > > I don't understand what's the difference between > Implementor::~Implementor() noexcept { } > and a compiler-generated destructor. > > > No. In fact, I just tried commenting out the ~Implementor() d'tor (and > letting the compiler generate one) but it didn't make any difference. > > It made a difference to codekiddy. You two see similar but not identical > problems, I suppose. > I came to think of a difference between the original ~Implementor() and a > compiler-generated one. The compiler-generated destructor is probably > inlined. It can be executed without a call to the atkmm DLL. I don't know > if that's important. > > I can't find it now but earlier today someone mentioned that if > GTKMM_ATKMM_ENABLED is #defined when building the Gtkmm DLL, it must also get > #defined in anything which uses that DLL. That makes a lot of sense - > because otherwise, certain objects (e.g. class Widget) will have different > sizes in different modules. To me, that sounds like a promising explanation > for this 'delete' problem. > > https://mail.gnome.org/archives/gtkmm-list/2015-November/msg00025.html > > I'm busy for a couple of days now - but at the weekend I'll try rebuilding > everything, making absolutely sure that GTKMM_ATKMM_ENABLED is #defined in > all modules. Fingers crossed, that might solve the problem! > > John > > > To codekiddy: You should not worry about Glib::Object::~Object() being > protected. Atk::Implementor::~Implementor() does not try to call it. If it > did, it would be detected at compile-time. > > To John and codekiddy: There are previous discussions on gtkmm-list about > strange problems with gtkmm and MSVC. Don't know how relevant these links > are: > > https://mail.gnome.org/archives/gtkmm-list/2013-December/msg00002.html > https://bugzilla.gnome.org/show_bug.cgi?id=719847 > https://mail.gnome.org/archives/gtkmm-list/2014-September/msg00024.html > > Kjell >
_______________________________________________ gtkmm-list mailing list [email protected] https://mail.gnome.org/mailman/listinfo/gtkmm-list
