C ++ الخلية وزيادة الصراع رأس اسيو
-
10-07-2019 - |
سؤال
ويبدو أن هناك صراع مع رؤوس النوافذ بين الخلية ج-المعهد وتعزيز :: اسيو.
إذا كنت تشمل الخلية الأولى أحصل على:
<اقتباس فقرة>ودفعة / اسيو / التفاصيل / socket_types.hpp (27): خطأ فادح C1189 خطأ: # خطأ: تم تضمينها بالفعل WinSock.h
اقتباس فقرة>#if defined(BOOST_WINDOWS) || defined(__CYGWIN__)
# if defined(_WINSOCKAPI_) && !defined(_WINSOCK2API_)
# error WinSock.h has already been included
# endif // defined(_WINSOCKAPI_) && !defined(_WINSOCK2API_)
إذا كنت تشمل دفعة :: اسيو أولا أحصل على:
<اقتباس فقرة>وتشمل \ التكوين-win.h (24): C4005 تحذير: '_WIN32_WINNT': إعادة تعريف الكلي
اقتباس فقرة>/* Defines for Win32 to make it compatible for MySQL */
#ifdef __WIN2000__
/* We have to do this define before including windows.h to get the AWE API
functions */
#define _WIN32_WINNT 0x0500
#else
/* Get NT 4.0 functions */
#define _WIN32_WINNT 0x0400
#endif
هل هناك طريقة للتغلب على هذه، والسبب هو الخلية تحاول اجبار نسخة ويندوز وتعزيز تحاول فرض بأن تدرج WINSOCK النفس على أية حال؟
المحلول
ووإعادة تعريف الكلي هو تحذير فقط. التعليمات البرمجية لا يزال ينبغي تجميع والارتباط. أعتقد أن الشفرة تعمل حتى من دون أي مشكلة.
نصائح أخرى
وحاول
و#include "winsock2.h"
وقبل بما في ذلك الخلية وتعزيز :: اسيو
إذا لم تتمكن من العثور على طريقة للالتفاف على هذه المشكلة، قد تتمكن من محاولة التفاف API الخلية وراء <لأ href = "http://en.wikipedia.org/wiki/Opaque_pointer" يختلط = "نوفولو noreferrer "> مبهمة مؤشر كملاذ أخير.