मेरा प्रोजेक्ट windows.h का उपयोग करता है जिसमें winsock.h का उपयोग किया जाता है, और मुझे बूस्ट शामिल करने की आवश्यकता है: assio जो winsock2 का उपयोग करता है। तो मुझे कई त्रुटियां मिलती हैं जो कहते हैं कि Winsock.h पहले से ही शामिल है। मैं WIN32_LEAN_AND_MEAN को परिभाषित कर सकता हूं। ताकि windows.h winsock का उपयोग नहीं करेगा। समस्या यह है कि मुझे इसका उपयोग करने के लिए windows.h की आवश्यकता है, और मुझे एसिओ सिंक्रोनस टाइमर के लिए बस चाहिए। मुझे इसकी winsock2.h की आवश्यकता नहीं है। मैंने अपने winsock2 उपयोग को अक्षम करने के तरीके की खोज करने का प्रयास किया, और मैंने पाया कि मैं बूस्ट सहित एओएसओ सहित BOOST_ASIO_NO_WIN32_LEAN_AND_MEAN को परिभाषित करके ऐसा कर सकता हूं, लेकिन मुझे अभी भी वही त्रुटि मिलती है।बूस्ट :: एएसआईओ विंसॉक और विंसॉक 2 संगतता समस्या
#include <windows.h>
#define BOOST_ASIO_NO_WIN32_LEAN_AND_MEAN
#include <boost/asio.hpp>
त्रुटि
1>c:\program files\boost\boost_1_47\boost\asio\detail\socket_types.hpp(22): fatal error C1189: #error : WinSock.h has already been included
यह काम किया! धन्यवाद :) –
एक और सवाल: क्या एक आवेदन किसी अन्य एप्लिकेशन चुड़ैल से winsock2 के साथ पैकेट पढ़ सकता है winsock1 के साथ पैकेट भेजता है? और उपाध्यक्ष। –
@DainiusKreivys मुझे यकीन नहीं है कि winsock1 से 2 तक किए गए अपडेट क्या हैं। मैं केवल अनुमान लगा सकता हूं कि यह मुख्य रूप से बग फिक्स था। बग्स को छोड़कर सब कुछ ठीक काम करना चाहिए, लेकिन चूंकि शायद वहां कीड़े हैं, वे आ सकते हैं। – selalerer