Проблема в том, что в коде PosixSocketClient предполагается, что при компиляции с помощью компилятора Microsoft будет использоваться библиотека Microsoft Foundation Library (MFC).Возможно, раньше это так и работало, но я никогда не работал с VS2010.Но я все заработал, убрав зависимость от / связывание с MFC.
К сожалению, код в подпапке Shared
автоматически принимает MFC, если определено _MSC_VER
.(_MSC_VER
дает версию компилятора Microsoft C ++).Он не может быть просто undef
-обработан, потому что некоторые стандартные заголовки Windows используют его.Это явно ошибка, поскольку наличие MFC сигнализируется _MFC_VER
, а не _MSC_VER
.Поэтому мне пришлось изменить
#ifdef _MSC_VER
везде в EClientSocketBaseImpl.h на
#ifdef _MFC_VER
Также, в файл _StdAfx.h, #include <afxwin.h>
должен быть дополнительно упакованв директиве условной компиляции:
#ifdef _MFC_VER
#include <afxwin.h>
#endif