I'm using wxWidgets-3.0.0 with MinGW (tdm-gcc-4.8.1-3). When building wxArt2D I get the following error.
C:\user_data\david\dajac\source_pool\wxArt2D\wxArt2D\packages\wxart2d\artbase\sr c\drawer2d.cpp: In member function 'void a2dDrawer2D::FillPolygon(int, wxRealPoi nt*)': C:\user_data\david\dajac\source_pool\wxArt2D\wxArt2D\packages\wxart2d\artbase\sr c\drawer2d.cpp:2792:42: error: invalid conversion from 'int (*)(const a2dAET**, const a2dAET**)' to 'wxSortCompareFunction {aka int (*)(const void*, const void* )}' [-fpermissive] m_AETlist.Sort( SortonXs ); ^ In file included from C:/user_data/david/dajac/source_pool/wxWidgets-3.0.0/inclu de/wx/wx.h:17:0, from C:\user_data\david\dajac\source_pool\wxArt2D\wxArt2D\packa ges\wxart2d\artbase\src\drawer2d.cpp:18: C:/user_data/david/dajac/source_pool/wxWidgets-3.0.0/include/wx/list.h:320:14: e rror: initializing argument 1 of 'void a2dAETList::Sort(wxSortCompareFunction) ' [-fpermissive] void Sort( wxSortCompareFunction compfunc ) \ ^ C:/user_data/david/dajac/source_pool/wxWidgets-3.0.0/include/wx/list.h:66:5: not e: in expansion of macro 'WX_DECLARE_LIST_XO' WX_DECLARE_LIST_XO(elT*, liT, decl) ^ C:/user_data/david/dajac/source_pool/wxArt2D/wxArt2D/packages/wxart2d/include/wx /artbase/artglob.h:323:1: note: in expansion of macro 'WX_DECLARE_LIST_WITH_DECL ' WX_DECLARE_LIST_WITH_DECL( a2dAET, a2dAETList, class A2DARTBASEDLLEXP ); ^ artbase\src\CMakeFiles\artbase.dir\build.make:57: recipe for target 'artbase/src /CMakeFiles/artbase.dir/drawer2d.cpp.obj' failed mingw32-make[2]: *** [artbase/src/CMakeFiles/artbase.dir/drawer2d.cpp.obj] Error 1 CMakeFiles\Makefile2:222: recipe for target 'artbase/src/CMakeFiles/artbase.dir/ all' failed mingw32-make[1]: *** [artbase/src/CMakeFiles/artbase.dir/all] Error 2 Makefile:115: recipe for target 'all' failed mingw32-make: *** [all] Error 2 To make the compiler happy, I changed the SortonXs() function to accept void* parameters and explicitly cast to a2sAET** as follows. static int SortonXs( const void* f, const void* s ) { const a2dAET** first =(const a2dAET **)f; const a2dAET** second =(const a2dAET **)s; if ( ( *first )->m_xs < ( *second )->m_xs ) return -1; else if ( ( *first )->m_xs > ( *second )->m_xs ) return 1; return 0; } This hasn't been tested (beyond compiling) so I'm not sure it actually gives the desired results. Beware if you have issues with filled polygons. David ------------------------------------------------------------------------------ Android apps run on BlackBerry 10 Introducing the new BlackBerry 10.2.1 Runtime for Android apps. Now with support for Jelly Bean, Bluetooth, Mapview and more. Get your Android app in front of a whole new audience. Start now. http://pubads.g.doubleclick.net/gampad/clk?id=124407151&iu=/4140/ostg.clktrk _______________________________________________ Wxart2d-users_dev mailing list Wxart2d-users_dev@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wxart2d-users_dev