當在vs2005編寫wince程式時,如果包含winsock2.h後使用socket的相關函式,則編譯會出現如下錯誤:
1>tcpserver.obj : error lnk2019: 無法解析的外部符號 wsacleanup,該符號在函式 "private: int __cdecl ctcpserver_ce::initializesocket(void)" (?initializesocket@ctcpserver_ce@@aaahxz) 中被引用
1>tcpserver.obj : error lnk2019: 無法解析的外部符號 wsastartup,該符號在函式 "private: int __cdecl ctcpserver_ce::initializesocket(void)" (?initializesocket@ctcpserver_ce@@aaahxz) 中被引用
1>tcpserver.obj : error lnk2019: 無法解析的外部符號 ioctlsocket,該符號在函式 "private: static unsigned long __cdecl ctcpserver_ce::tcplistentheadfunc(void *)" (?tcplistentheadfunc@ctcpserver_ce@@cakpax@z) 中被引用
1>tcpserver.obj : error lnk2019: 無法解析的外部符號 accept,該符號在函式 "private: static unsigned long __cdecl ctcpserver_ce::tcplistentheadfunc(void *)" (?tcplistentheadfunc@ctcpserver_ce@@cakpax@z) 中被引用
1>tcpserver.obj : error lnk2019: 無法解析的外部符號 __wsafdisset,該符號在函式 "private: static unsigned long __cdecl ctcpserver_ce::tcplistentheadfunc(void *)" (?tcplistentheadfunc@ctcpserver_ce@@cakpax@z) 中被引用
1>tcpserver.obj : error lnk2019: 無法解析的外部符號 closesocket,該符號在函式 "private: static unsigned long __cdecl ctcpserver_ce::tcplistentheadfunc(void *)" (?tcplistentheadfunc@ctcpserver_ce@@cakpax@z) 中被引用
1>tcpserver.obj : error lnk2019: 無法解析的外部符號 select,該符號在函式 "private: static unsigned long __cdecl ctcpserver_ce::tcplistentheadfunc(void *)" (?tcplistentheadfunc@ctcpserver_ce@@cakpax@z) 中被引用
1>tcpserver.obj : error lnk2019: 無法解析的外部符號 wsagetlasterror,該符號在函式 "private: static unsigned long __cdecl ctcpserver_ce::tcpthreadfunc(void *)" (?tcpthreadfunc@ctcpserver_ce@@cakpax@z) 中被引用
1>tcpserver.obj : error lnk2019: 無法解析的外部符號 recv,該符號在函式 "private: static unsigned long __cdecl ctcpserver_ce::tcpthreadfunc(void *)" (?tcpthreadfunc@ctcpserver_ce@@cakpax@z) 中被引用
1>tcpserver.obj : error lnk2019: 無法解析的外部符號 listen,該符號在函式 "public: int __cdecl ctcpserver_ce::open(void)" (?open@ctcpserver_ce@@qaahxz) 中被引用
1>tcpserver.obj : error lnk2019: 無法解析的外部符號 bind,該符號在函式 "public: int __cdecl ctcpserver_ce::open(void)" (?open@ctcpserver_ce@@qaahxz) 中被引用
1>tcpserver.obj : error lnk2019: 無法解析的外部符號 htonl,該符號在函式 "public: int __cdecl ctcpserver_ce::open(void)" (?open@ctcpserver_ce@@qaahxz) 中被引用
1>tcpserver.obj : error lnk2019: 無法解析的外部符號 htons,該符號在函式 "public: int __cdecl ctcpserver_ce::open(void)" (?open@ctcpserver_ce@@qaahxz) 中被引用
1>tcpserver.obj : error lnk2019: 無法解析的外部符號 socket,該符號在函式 "public: int __cdecl ctcpserver_ce::open(void)" (?open@ctcpserver_ce@@qaahxz) 中被引用
1>tcpserver.obj : error lnk2019: 無法解析的外部符號 send,該符號在函式 "public: int __cdecl ctcpserver_ce::senddata(char const *,unsigned long)" (?senddata@ctcpserver_ce@@qaahpbdk@z) 中被引用
網上找了很久都沒有解決方法,錯誤產生的原因是由於在win32智慧型裝置控制台時使用了mfc的api,有很多網友說包含:#pragma comment(lib, "ws2_32.lib")就可以解決,實際上對於wince控制台程式還是無法使用,可以考慮使用#pragma comment(lib, "winsock.lib")即使用version 1.0的庫,但是還會有一些無法找到,個人摸索了好久,終於找到解決方法,#pragma comment(lib, "ws2.lib"),一切搞定。特共享給有同樣煩惱的朋友。
簡單的c TCP通訊
tcp 通訊 2009年8 月23日星期日 伺服器using system using system.collections.generic using system.componentmodel using system.data using system.drawing using system...
無法解析的外部符號
在使用vs2008除錯程式的過程中,經常會出現無法解析的外部符號問題,可能的原因有很多種,下面這些是我一年來積累的經驗.僅供參考.考慮可能的原因 0 出現無法解析可能是因為lib檔案不正確,比如64位的編譯配置,結果使用的是32位的lib包.1 只寫了類宣告,但還沒有寫實現類,造成呼叫時無法解析 2...
無法解析的外部符號
在使用vs2008除錯程式的過程中,經常會出現無法解析的外部符號問題,可能的原因有很多種,下面這些是我一年來積累的經驗.僅供參考.考慮可能的原因 0 出現無法解析可能是因為lib檔案不正確,比如64位的編譯配置,結果使用的是32位的lib包.1 只寫了類宣告,但還沒有寫實現類,造成呼叫時無法解析 2...