Как ИСКЛЮЧИТЬ "winsock2.h"? - PullRequest
2 голосов
/ 28 ноября 2010

Я делаю проект для Windows, и файл "winsock2.h" вызывает проблемы во время компиляции (у меня есть базовая библиотека очередей, которая имеет такие функции, как "отправить", "получить" и т. Д., И она жалуется на "winsock2.h "также имеет функцию" send ").

Я просто включаю" windows.h ", поэтому есть ли способ ИСКЛЮЧИТЬ включение" winsock2.h "чтобы мое приложение могло скомпилироваться?

Спасибо за помощь; -)

Lynton

Ответы [ 2 ]

1 голос
/ 28 ноября 2010

Что ж, winsock2.h содержит защиту включения #ifndef _WINSOCK2API_, поэтому определение _WINSOCK2API_ перед включением windows.h должно предотвратить его включение.

Хотя лучшее решение, IMO, это поместить вашу библиотеку в свое собственное пространство имен (например, queue_send, msgq_send и т. Д.)

0 голосов
/ 28 ноября 2010

Если вы #define WIN32_LEAN_AND_MEAN до включения windows.h, вы автоматически получаете намного меньше заголовков.

Хотя в моей системе windows.h включает в себя winsock.h, а не winsock2.h, поэтому вам, возможно, придется перепроверить это на самом деле из-за включения windows.h.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...