關於socket鏈結錯誤問題

2021-07-04 15:58:45 字數 1278 閱讀 6971

用socket做乙個簡單的windows程式, 先拿來了以前在vc6.0上做的一小段**, 竟然發現在vs2008上不能執行.出現了好多鏈結錯誤, 研究了好半天也沒有發現是怎麼回事.>下來是**和 錯誤資訊.

正在鏈結…>

1>tem.obj : error lnk2019: 無法解析的外部符號 __imp__closesocket@4,該符號在函式 _main 中被引用1>tem.obj : error lnk2019: 無法解析的外部符號 __imp__inet_ntoa@4,該符號在函式 _main 中被引用1>tem.obj : error lnk2019: 無法解析的外部符號 __imp__sendto@24,該符號在函式 _main 中被引用1>tem.obj : error lnk2019: 無法解析的外部符號 __imp__recvfrom@24,該符號在函式 _main 中被引用

1>tem.obj : error lnk2019: 無法解析的外部符號 __imp__bind@12,該符號在函式 _main 中被引用

1>tem.obj : error lnk2019: 無法解析的外部符號 __imp__htons@4,該符號在函式 _main 中被引用

1>tem.obj : error lnk2019: 無法解析的外部符號 __imp__htonl@4,該符號在函式 _main 中被引用

1>tem.obj : error lnk2019: 無法解析的外部符號 __imp__socket@12,該符號在函式 _main 中被引用

1>tem.obj : error lnk2019: 無法解析的外部符號 __imp__wsacleanup@0,該符號在函式 _main 中被引用

1>tem.obj : error lnk2019: 無法解析的外部符號 __imp__wsastartup@8,該符號在函式 _main 中被引用

1>d:\my documents\visual studio 2008\projects\tem\debug\tem.exe : fatal error lnk1120: 10 個無法解析的外部命令

編譯沒有問題的, 主要是鏈結上的錯誤,所以就去查msdn。第一次竟然沒有發現是哪的錯,後在csdn上search了一下後才發現好像是在08上寫socket要加上新的鏈結庫  ws2_32.lib.再查msdn,要求如下:

header declared in winsock2.h.

library use ws2_32.lib.

dll requires ws2_32.dll.

加上後果然成功了。

關於vs2010上的socket鏈結錯誤問題

c include include int main if lobyte wsadata.wversion 1 hibyte wsadata.wversion 1 socket socksrv socket af inet,sock stream,0 sockaddr in addrsrv addr...

關於C 模板的鏈結錯誤問題

好久不用c 了,前幾天寫了乙個模版,按以前的習慣,把定義寫在標頭檔案中,把實現寫在cpp檔案中。結果在編譯的時候沒有發生錯誤,但在連線的時候出現了找不到 的錯誤。一時之間不知道該怎麼辦才好,後來上網一查,自己再一想,唉,原來如此 模版之所以為模版,就是可以容納不同的型別嘛,所以它只有在指定了其型別的...

socket鏈結和http鏈結

我們在傳輸資料時,可以只使用 傳輸層 tcp ip協議,但是那樣的話,如果沒有應用層,便無法識別資料內容,如果想要使傳輸的資料有意義,則必須使用到應用層協議,應用層協議有很多,比如http ftp telnet等,也可以自己定義應用層協議。web使用http協議作應用層協議,以封裝http文字資訊,...