WSASocket函式未定義和重定義錯誤

2021-08-21 04:50:12 字數 1013 閱讀 8303

報錯error c2065: 'wsasocket' : undeclared identifier

意思是wsasocket函式沒有宣告定義

wsasocket()是:建立乙個與指定傳送服務提供者**的套介面,可選地建立和/或加入乙個套介面組。

此函式為socket()的擴充套件版本,其功能都是建立乙個原始套接字。使用時需要包含

winsock2.h 標頭檔案和鏈結ws2_32.lib庫。

c:\program files\microsoft visual studio\vc98\include\winsock2.h(99) : error c2011: 'fd_set' : 'struct' type redefinition

c:\program files\microsoft visual studio\vc98\include\winsock2.h(134) : warning c4005: 'fd_set' : macro redefinition

c:\program files\microsoft visual studio\vc98\include\winsock.h(84) : see previous definition of 'fd_set'

。。。。。。。。(還有好多)

最後我開啟winsock2.h和winsock.h兩個檔案,發現他們的巨集定義是這樣的

winsock2.h中定義了winsock.h的巨集,說明如果先引入了winsock2.h同檔案再引入winsock.h標頭檔案,編譯器是不會去編譯winsock.h標頭檔案的,如果倒過來就不同,並且會出現很多錯誤,是因為winsock.h和winsock2.h存在很多相同的定義或者其它。其實在winsock2.h檔案中就能找到答案,下圖「阻止包含windows.h中的winsock.h」。

js報未定義 JS的未定義和undefined

background if window else console.log server side rendering 當我啟專案的時候,不斷的報錯 window is not defined 原因在js中,有一種錯誤是 referenceerror x is not defined 造成這種錯誤出...

名字尚未定義

條件編譯預處理指令允許您指定在什麼條件下會或不會編譯。唯一的條件編譯指令我們將在本節蓋 如果定義了,則和endif 如果定義了預處理指令允許的預處理器檢查值是否已預先 定義。如果是這樣,如果定義了相應的編譯 endif之間的 如果不是的話,被忽略。考慮下面的 片段 123 4567 89 defin...

MATLAB報錯 未定義函式或變數

出現這種錯誤一般是因為定義的函式和當前的工作環境不在一塊導致。一般情況matlab工作環境預設為c盤,但我們有時候會將自己編寫的函式放在其他盤。當我們呼叫這個函式是就會出現 未定義函式或變數 我編寫的這個函式只能完成乙個加法,目的就是為了測試使用。我們輸入cd命令,設定函式檔案的位置即可。如圖所示,...