On Tue, 2014-04-08 at 17:39 +0200, Yann Leydier wrote: > Hi, > > when I first saw that Gtkmm was using wrappers to handle conversions to > STL containers, I thought that it was expected, because Visual C++'s STL > implementation is not fully compatible with the DLL import/export system. > > Up to now, I was using STLport to enable the use of STL in my DLLs (thus > I had to recompile Gtkmm with STLport…) and I'm currently looking for > another solution. I tried to look at how Glibmm does it and I'm quite > confused. > > It should be OK to work with vectors, provided you export the right > symbols. I suppose gendef does this, but it's difficult to check since > the symbols are mangled. > > According to MSDN, it should be totally impossible to use maps in the > API, however in markup.h (version 2.28.2), there is a typedef on a map: > typedef std::map<Glib::ustring, Glib::ustring, > Glib::Markup::AttributeKeyLess> AttributeMap; > This type is then used in a method of the class Parser: > virtual void on_start_element(ParseContext& context, > const Glib::ustring& element_name, > const AttributeMap& attributes); > > This is the same as passing a reference to a map from the main program > to the DLL, which should cause an undefined behaviour (in my past > experience it always caused a crash). > > Is it a bug? If not, does someone know why/how it works?
Maybe that particular API has never been used on Windows? -- Murray Cumming murr...@murrayc.com www.murrayc.com _______________________________________________ gtkmm-list mailing list gtkmm-list@gnome.org https://mail.gnome.org/mailman/listinfo/gtkmm-list