boost asio和WinSock.h已经包含在内

时间:2015-07-28 21:01:41

标签: c++ boost boost-asio wxwidgets

与使用Boost ASIO库的许多人一样,我已经包含了#34; WinSock.h已被包含在内#34;错误。在其他帖子中,通过移动#include

上方的#include行来回答问题

在我的情况下,我正在使用Wx Widgets的项目,似乎没有任何与MFC的连接,或者直接连接到Win32。我还没有找到任何对windows.h的调用,也没有任何相关的调用。我还尝试过使用WIN32_LEAN_AND_MEAN和BOOST_ASIO_NO_WIN32_LEAN_AND_MEAN声明。

我想知道是否有人编写Wx Widgets项目遇到与Boost ASIO类似的问题?如果是这样,你能解决Winsock错误吗?

2 个答案:

答案 0 :(得分:3)

我有一个解决方案。修复此问题的步骤是在项目设置的一侧定义WIN32_LEAN_AND_MEAN。

转到项目 - >属性,选择C / C ++ - >预处理器

在预处理器定义下,添加WIN32_LEAN_AND_MEAN。

我之前犯的错误是将#define WIN32_LEAN_AND_MEAN添加到代码文件中。这没有任何帮助。注意,我的#include仍然设置在WxWidget包含的上方。

答案 1 :(得分:0)

wxUSE_IPV6设置为1,或者在wxUSE_SOCKETS文件中将include/wx/msw/setup.h设置为0可以解决问题 - 如果您执行前者或不包括WinSock2标头如果你选择后者,WinSock也不会。

如果您要更改,请不要忘记重建您的wxWidgets库!