cocos2dx socket(通信) 添加链接库文件

本文提供了解决Cocos2d-x项目中引入libcurl和websockets库时遇到的链接器错误的步骤。通过在项目属性中添加libcurl_imp.lib和websockets.lib作为附加依赖项,可以成功编译并运行程序。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

转载请附上原址:http://write.blog.youkuaiyun.com/postedit/41280597;

需要添加如下几个文件;

#include "extensions/cocos-ext.h"

#include "network/SocketIO.h"

USING_NS_CC_EXT;

using namespace cocos2d::network;

1、参考这个http://blog.youkuaiyun.com/u010075060/article/details/28167079

2、同理添加libNetwork.vcxproj;

3、然后运行程序还是会报错;

错误 23 error LNK1120: 18 个无法解析的外部命令 E:\cocosproject\HelloWorld\proj.win32\Debug.win32\HelloWorld.exe HelloWorld 
 
错误 11 error LNK2019: 无法解析的外部符号 __imp__curl_easy_cleanup,该符号在函数 "public: __thiscall cocos2d::network::CURLRaii::~CURLRaii(void)" (??1CURLRaii@network@cocos2d@@QAE@XZ) 中被引用 E:\cocosproject\HelloWorld\proj.win32\HttpClient.obj HelloWorld 
 
错误 12 error LNK2019: 无法解析的外部符号 __imp__curl_easy_getinfo,该符号在函数 "public: bool __thiscall cocos2d::network::CURLRaii::perform(long *)" (?perform@CURLRaii@network@cocos2d@@QAE_NPAJ@Z) 中被引用 E:\cocosproject\HelloWorld\proj.win32\HttpClient.obj HelloWorld 
 
错误 8 error LNK2019: 无法解析的外部符号 __imp__curl_easy_init,该符号在函数 "public: __thiscall cocos2d::network::CURLRaii::CURLRaii(void)" (??0CURLRaii@network@cocos2d@@QAE@XZ) 中被引用 E:\cocosproject\HelloWorld\proj.win32\HttpClient.obj HelloWorld 
 
错误 10 error LNK2019: 无法解析的外部符号 __imp__curl_easy_perform,该符号在函数 "public: bool __thiscall cocos2d::network::CURLRaii::perform(long *)" (?perform@CURLRaii@network@cocos2d@@QAE_NPAJ@Z) 中被引用 E:\cocosproject\HelloWorld\proj.win32\HttpClient.obj HelloWorld 
 
错误 9 error LNK2019: 无法解析的外部符号 __imp__curl_easy_setopt,该符号在函数 "public: bool __thiscall cocos2d::network::CURLRaii::setOption<int>(enum CURLoption,int)" (??$setOption@H@CURLRaii@network@cocos2d@@QAE_NW4CURLoption@@H@Z) 中被引用 E:\cocosproject\HelloWorld\proj.win32\HttpClient.obj HelloWorld 
 
错误 7 error LNK2019: 无法解析的外部符号 __imp__curl_easy_strerror,该符号在函数 "public: bool __thiscall cocos2d::network::CURLRaii::perform(long *)" (?perform@CURLRaii@network@cocos2d@@QAE_NPAJ@Z) 中被引用 E:\cocosproject\HelloWorld\proj.win32\HttpClient.obj HelloWorld 
 
错误 5 error LNK2019: 无法解析的外部符号 __imp__curl_slist_append,该符号在函数 "public: bool __thiscall cocos2d::network::CURLRaii::init(class cocos2d::network::HttpRequest *,unsigned int (__cdecl*)(void *,unsigned int,unsigned int,void *),void *,unsigned int (__cdecl*)(void *,unsigned int,unsigned int,void *),void *)" (?init@CURLRaii@network@cocos2d@@QAE_NPAVHttpRequest@23@P6AIPAXII1@Z121@Z) 中被引用 E:\cocosproject\HelloWorld\proj.win32\HttpClient.obj HelloWorld 
 
错误 6 error LNK2019: 无法解析的外部符号 __imp__curl_slist_free_all,该符号在函数 "public: __thiscall cocos2d::network::CURLRaii::~CURLRaii(void)" (??1CURLRaii@network@cocos2d@@QAE@XZ) 中被引用 E:\cocosproject\HelloWorld\proj.win32\HttpClient.obj HelloWorld 
 
错误 18 error LNK2019: 无法解析的外部符号 _libwebsocket_callback_on_writable,该符号在函数 "private: int __thiscall cocos2d::network::WebSocket::onSocketCallback(struct libwebsocket_context *,struct libwebsocket *,int,void *,void *,long)" (?onSocketCallback@WebSocket@network@cocos2d@@AAEHPAUlibwebsocket_context@@PAUlibwebsocket@@HPAX2J@Z) 中被引用 E:\cocosproject\HelloWorld\proj.win32\WebSocket.obj HelloWorld 
 
错误 20 error LNK2019: 无法解析的外部符号 _libwebsocket_client_connect,该符号在函数 "private: virtual void __thiscall cocos2d::network::WebSocket::onSubThreadStarted(void)" (?onSubThreadStarted@WebSocket@network@cocos2d@@EAEXXZ) 中被引用 E:\cocosproject\HelloWorld\proj.win32\WebSocket.obj HelloWorld 
 
错误 14 error LNK2019: 无法解析的外部符号 _libwebsocket_context_destroy,该符号在函数 "private: virtual int __thiscall cocos2d::network::WebSocket::onSubThreadLoop(void)" (?onSubThreadLoop@WebSocket@network@cocos2d@@EAEHXZ) 中被引用 E:\cocosproject\HelloWorld\proj.win32\WebSocket.obj HelloWorld 
 
错误 16 error LNK2019: 无法解析的外部符号 _libwebsocket_context_user,该符号在函数 "public: static int __cdecl cocos2d::network::WebSocketCallbackWrapper::onSocketCallback(struct libwebsocket_context *,struct libwebsocket *,enum libwebsocket_callback_reasons,void *,void *,unsigned int)" (?onSocketCallback@WebSocketCallbackWrapper@network@cocos2d@@SAHPAUlibwebsocket_context@@PAUlibwebsocket@@W4libwebsocket_callback_reasons@@PAX3I@Z) 中被引用 E:\cocosproject\HelloWorld\proj.win32\WebSocket.obj HelloWorld 
 
错误 13 error LNK2019: 无法解析的外部符号 _libwebsocket_create_context,该符号在函数 "private: virtual void __thiscall cocos2d::network::WebSocket::onSubThreadStarted(void)" (?onSubThreadStarted@WebSocket@network@cocos2d@@EAEXXZ) 中被引用 E:\cocosproject\HelloWorld\proj.win32\WebSocket.obj HelloWorld 
 
错误 22 error LNK2019: 无法解析的外部符号 _libwebsocket_get_internal_extensions,该符号在函数 "private: virtual void __thiscall cocos2d::network::WebSocket::onSubThreadStarted(void)" (?onSubThreadStarted@WebSocket@network@cocos2d@@EAEXXZ) 中被引用 E:\cocosproject\HelloWorld\proj.win32\WebSocket.obj HelloWorld 
 
错误 15 error LNK2019: 无法解析的外部符号 _libwebsocket_service,该符号在函数 "private: virtual int __thiscall cocos2d::network::WebSocket::onSubThreadLoop(void)" (?onSubThreadLoop@WebSocket@network@cocos2d@@EAEHXZ) 中被引用 E:\cocosproject\HelloWorld\proj.win32\WebSocket.obj HelloWorld 
 
错误 17 error LNK2019: 无法解析的外部符号 _libwebsocket_write,该符号在函数 "private: int __thiscall cocos2d::network::WebSocket::onSocketCallback(struct libwebsocket_context *,struct libwebsocket *,int,void *,void *,long)" (?onSocketCallback@WebSocket@network@cocos2d@@AAEHPAUlibwebsocket_context@@PAUlibwebsocket@@HPAX2J@Z) 中被引用 E:\cocosproject\HelloWorld\proj.win32\WebSocket.obj HelloWorld 
 
错误 19 error LNK2019: 无法解析的外部符号 _libwebsockets_remaining_packet_payload,该符号在函数 "private: int __thiscall cocos2d::network::WebSocket::onSocketCallback(struct libwebsocket_context *,struct libwebsocket *,int,void *,void *,long)" (?onSocketCallback@WebSocket@network@cocos2d@@AAEHPAUlibwebsocket_context@@PAUlibwebsocket@@HPAX2J@Z) 中被引用 E:\cocosproject\HelloWorld\proj.win32\WebSocket.obj HelloWorld 
 
错误 21 error LNK2019: 无法解析的外部符号 _lws_frame_is_binary,该符号在函数 "private: int __thiscall cocos2d::network::WebSocket::onSocketCallback(struct libwebsocket_context *,struct libwebsocket *,int,void *,void *,long)" (?onSocketCallback@WebSocket@network@cocos2d@@AAEHPAUlibwebsocket_context@@PAUlibwebsocket@@HPAX2J@Z) 中被引用 E:\cocosproject\HelloWorld\proj.win32\WebSocket.obj HelloWorld 


不急,马上解决方案:

打开项目属性,找到链接器-》输入;添加两个附加依赖项:libcurl_imp.lib;websockets.lib;

现在再编译,ok,成功了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值