2012-03-08 96 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 2012-03-08 20:35:34

1

您正在嘗試在絕對不是Windows的平臺上編譯Windows特定的頭文件。我無法想象你期望這樣做;不管它是什麼,但它並不是。

+0

我想導入一個現有的項目。 – Ava 2012-03-08 20:36:01

+2

因此,請留下該文件。另外:如果項目是PostgreSQL,它的目的是從命令行構建,而不是從XCode構建。 – duskwuff 2012-03-08 20:51:13

相關問題