首页 > 代码库 > vs2012引入新lib-----附cocos2dx3.2 http通信lib库添加

vs2012引入新lib-----附cocos2dx3.2 http通信lib库添加

先说说普通的两种方法(请直接只用方法3来添加):

方法1:  通过设置工程配置来添加lib库.

转自网上:

A、添加工程的头文件目录:工程---属性---配置属性---c/c++---常规---附加包含目录:加上头文件存放目录。

B、添加文件引用的lib静态库路径:工程---属性---配置属性---链接器---常规---附加库目录:加上lib文件存放目录。
C  然后添加工程引用的lib文件名:工程---属性---配置属性---链接器---输入---附加依赖项:加上lib文件名。

这种方法比较繁琐,且不直观,而且还可能要争对debug版本和release版本作不同的配置,因为我们生成的两个版本的库可能放在不同的目录中的.


方法2: 使用编译语句:

#ifdef _DEBUG
#pragma comment(lib,"..\\debug\\LedCtrlBoard.lib")
#else
#pragma comment(lib,"..\\release\\LedCtrlBoard.lib")
#endif

这种方法直观,方便,且可以按如上直接区分出Debug版本和Release版本的不同目录.当然,通过宏,还可以区分更多版本.

但是在指定目录时,不小心容易出错.


方法3: 直接添加库文件到工程中.

就像你添加.h和.cpp文件一样,把lib文件添加到工程文件列表中去.

VS中,切换到"解决方案视图",--->选中要添加lib的工程-->点击右键-->"添加"-->"现有项"-->选择lib文件-->确定.

就是这么简单,搞定.

这个方法适用于在我的工程的debug版本和Release版本中都使用同一个lib库文件时.这样就省去了你1方法配置环境的繁琐,也省去了方法2种语句的可能性错误发生.



COCOS2DX 3.0 httprequest报错:

错误 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 
 

要引入两个库文件 lib
cocos2d\external\curl\prebuilt\win32 libcurl_imp.lib
cocos2d\external\websockets\prebuilt\win32 下的 websockets.lib
请根据上面的方法3添加!