2012-03-08 6 views
0

Добавлен #define _WINSOCKAPI_, но все же сборка не работает.Ошибка сборки: файл winsock2.h не найден

/* 
* $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 */ 

ответ

0

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

#ifndef __APPLE__ ... #endif

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

+0

Где я должен поставить вышеуказанное утверждение? – Ava

1

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

+0

Я пытаюсь импортировать существующий проект. – Ava

+2

Итак, оставьте этот файл. Кроме того: если проект PostgreSQL, он предназначен для создания из командной строки, а не из XCode. – duskwuff

Смежные вопросы