Re: wxTaskBarIcon help
- Posted by mattlewis (admin) Feb 18, 2009
- 1141 views
See export.exw. It uses the same methods as wrap.exw to fish out all the routines and dump them into wat_dll\exports.lbc. So they're in exports.lbc, but they're not showing up in the final dll, for some reason. I just updated export.exw to output null_pen and null_brush, but they're still not showing up. And with the recent addition of wxTaskBarIcon.cpp, the list gets longer:
Failed to link function: +get_staticbitmap Failed to link procedure: +set_mdi_child_title Failed to link procedure: +set_staticbitmap Failed to link function: +new_wxTaskBarIcon Failed to link function: +get_taskbar_menu Failed to link procedure: +set_taskbar_icon Failed to link variable: null_pen Failed to link variable: null_brush
Ok, the problem is that the regex is looking for an open paren immediately after the name. The functions and procedures have a space before the paren, and the variables, of course, don't have parenthesis at all.
I think the export generation should look at wxeud.e (which is what the makefile does), since it provides a double check, and ensures that everything that it wants to see is actually exported. Omitting an export 'silently' fails until wxEuphoria tries to use it, while exporting something that hasn't been compiled causes a linker error. From makefile.wat:
grep -hP "=\s+wx_define_c_" wxeud.e | sed -re "s/.*\"(.*)\".*/EXPORT \1=_\1/" > wat_dll\exports.lbcThe first regex finds the lines, and the second one generates the line in exports.lbc. Sheesh, just install gnuwin32 already.
Matt