The two significant lines are:

#include <boost/asio/io_service.hpp>
#include <wx/frame.h>

With the order they are in above, you will get a linker error:

Error 1 error LNK2001: unresolved external symbol "public: virtual class wxClassInfo * __thiscall wxFrame::GetClassInfoA(void)const " (?GetClassInfoA@wxFrame@@UBEPAVwxClassInfo@@XZ) MainFrame.obj

When you swap the order, it goes away.

---------
Robert Dailey


On Tue, Aug 25, 2009 at 12:11 PM, Jens Weller <JensWeller@gmx.de> wrote:

> I noticed that <boost/asio.hpp> and <boost/asio/io_service.hpp> both
> include
> windows specific header files through some level of indirection. I know
> this
> because it is causing problems with wxWidgets depending on the order of my
> include directives. I was considering using a mediator/pimpl of some sort
> to
> keep the asio includes limited to a very confined translation unit, but
> this
> would complicate the usage of ASIO in general. I have a class that owns an
> io_service object by-value in its header.
> Anyone have any suggestions to reduce the amount of namespace polluting
> ASIO
> does? I really blame this on the Windows API, since ASIO is just as
> limited
> by it as I am. Thanks in advance.

I've just build an application with wxWidgets and asio this spring, and had no problems.
I did use kind of the pattern in the chat example, but extended and more split up in Classes.
Could you show the header code?

regards

Jens Weller
--
GRATIS für alle GMX-Mitglieder: Die maxdome Movie-FLAT!
Jetzt freischalten unter http://portal.gmx.net/de/go/maxdome01
_______________________________________________
Boost-users mailing list
Boost-users@lists.boost.org
http://lists.boost.org/mailman/listinfo.cgi/boost-users