我正在尝试在wxwidget应用程序中使用boost::asio。

如果我在wxwidget header 之前添加boost::asio,我不会收到任何错误,但是当我在wxwidget header 之后添加boost::asio header 时,我得到的错误是文件socket_types.hpp中的这一行(第24行)

 #  error WinSock.h has already been included

我知道我可以在wxwidget之前包含boost header ,但不会出现此错误,但是在我的代码中,我需要包含一个使用boost::asio和wxwidget的 header ,并且需要在wxwidget之后包含此 header ,所以我需要能够在wxwidget之后包含boost::asio。

最佳答案

您需要在wxUSE_IPV6文件中将wx/msw/setup.h设置为1:启用IPv6还可以使用WinSock2,而不是ASIO抱怨的古老WinSock。

注意,进行此更改后,您当然需要重新编译wxWidgets。

关于c++ - 在wxwidget应用程序中使用boost asio编译错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28085842/

10-11 21:53