0

我是Visual C++新手。我在Windows XP中安裝了Visual C++ 2008 Express Edition(帶有SP1)。我正在嘗試編譯一個開源的Visual C++項目。如何將ws2tcpip.h和ws2def.h包含到Visual C++ 2008項目中?

我已經在VC++ 2008 Express中打開了.vcproj項目。當我使用生成>重建解決方案,它顯示下面的輸出:

3 error(s) 
========== Rebuild All: 0 succeeded, 1 failed, 0 skipped ========== 

下面是3個錯誤:

error C3861: 'IN6_IS_ADDR_MULTICAST': identifier not found 

error C2065: 'IPPROTO_IPV6' : undeclared identifier 

error C2065: 'IPPROTO_IPV6' : undeclared identifier 

我一直在google搜索了很長的時間。我發現,這些標識在以下文件:

  • ws2tcpip.h

  • ws2def.h

  • winsock2.h

如果我沒有記錯的話,這些文件被使用Windows開發人員可以做網絡/套接字編程。它應該在Windows的某個地方可用。

我可以知道error C2065: undeclared identifiererror C3861: identifier not found之間的區別嗎?

如何將ws2tcpip.hws2def.h包含到Visual C++ 2008項目中?

謝謝

回答

1

它是否像#include在適當的文件中包含這些標頭?

#include <winsock2.h> 
#include <ws2tcpip.h> 

注意winsock2.h必須在 ws2tcpip.h進行#included ,否則你會得到像編譯錯誤「ip_mreq :: imr_multiaddr使用未定義STRUC組in_addr」和「字節是不是in6_addr成員:: __未命名」。

相關問題