Ошибка сборки: файл winsock2.h не найден - PullRequest
0 голосов
/ 08 марта 2012

Добавлено #define _WINSOCKAPI_, но сборка все еще не выполняется.

/*
 * $PostgreSQL: pgsql/src/include/port/win32/sys/socket.h,v 1.7 2006/10/04 00:30:10 momjian Exp $
 */
#ifndef WIN32_SYS_SOCKET_H
#define WIN32_SYS_SOCKET_H

/*
 * Unfortunately, <wingdi.h> of VC++ also defines ERROR.
 * To avoid the conflict, we include <windows.h> here and undefine ERROR
 * immediately.
 *
 * Note: Don't include <wingdi.h> directly.  It causes compile errors.
 */
#define _WINSOCKAPI_    //added this line but no help
#include <winsock2.h>
#include <ws2tcpip.h>
#include <windows.h>

#undef ERROR
#undef small

/* Restore old ERROR value */
#ifdef PGERROR
#define ERROR PGERROR
#endif

/*
 * we can't use the windows gai_strerror{AW} functions because
 * they are defined inline in the MS header files. So we'll use our
 * own
 */
#undef gai_strerror

#endif   /* WIN32_SYS_SOCKET_H */

Ответы [ 2 ]

1 голос
/ 09 марта 2012

Вы пытаетесь скомпилировать специфичный для Windows заголовочный файл на платформе, которая определенно не является Windows.Я не могу представить, что вы ожидаете от этого;что бы это ни было, это не так.

0 голосов
/ 09 марта 2012

Попробуйте использовать

#ifndef __APPLE__ ... #endif

Затем проверьте другие ошибки компиляции и включите специфичные для Apple файлы сокетов, которые также работают под сокетом BSD.

...