windows網絡編程:visual studio出現 ”error LNK2019: 無法解析的外部符號 _WSAStartup@8,該符號在函數 _main 中被引用“問題,怎麼解決

用visual studio 2017版本新建了一個項目,輸入如下Windows網絡編程程序,出現了編譯器錯誤,內容如下:

錯誤 “error LNK2019: 無法解析的外部符號 _WSAStartup@8,該符號在函數 _main 中被引用”

怎麼解決呢?

最簡單有效的方法,直接在相應頭文件的下方添加一句編譯器指令,別的什麼操作也就不用管了:

#pragma comment(lib,"ws2_32.lib")

如果不想添加這句代碼,當然也可以在項目屬性裏面添加項目依賴項,如圖所示:

項目屬性--->鏈接器---->輸入---->附加依賴項---->在最前面添加“ws2_32.lib”

原理:

編寫程序的時候,編譯器沒有報錯。但是在編譯的過程中,出現了連接錯誤,無法識別調用的函數。那麼根源很有可能就是,編譯器沒有鏈接到我們想要的頭文件運行庫。所以,我們只需要讓編譯器鏈接到頭文件<winsock.h>的運行庫就可以了。(編程萌新,理解有限,可能不太準)

#pragam 編譯器指令,指示編譯器鏈接到<winsock.h>的庫文件ws2_32.lib,即#pragma comment(lib,"ws2_32.lib")。

關於pragam編譯器指令的用法,大家有興趣可以網上搜集看看。本人編程萌新,這裏就不多講了。

最後重新編譯一下,程序就可以正常運行了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章