سؤال

ويبدو أن هناك صراع مع رؤوس النوافذ بين الخلية ج-المعهد وتعزيز :: اسيو.

إذا كنت تشمل الخلية الأولى أحصل على:

<اقتباس فقرة>   

ودفعة / اسيو / التفاصيل / 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 "> مبهمة مؤشر كملاذ أخير.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top