【Cocos2dx通信(Http&Socket)相关编译到Android细节总结】编译加入curl关联lib与头文件 && 解决pthread的cancel函数NDK不支持,找不到sockaddr_i

原创 2012年06月06日 11:47:55

本站文章均为 李华明Himi 原创,转载务必在明显处注明:
转载自【黑米GameDev街区】 原文链接: http://www.himigame.com/android-game/881.html

          ☞ 点击订阅 ☜
 本博客最新动态!及时将最新博文通知您!

本篇介绍在Cocos2dx中加入网络通信相关代码,然后编译到Android时出现的一些细节和需要注意的地方总结。不多废话了,直接进入正题;

   1.  首先介绍在Cocos2dx中使用pthread编译时应注意:

由于NDK明确指明不支持 pthread_cancel() 函数,编译的错误提示如下:

解决方案:

使用 pthread_kill()  或者 return NULL; 两种方法进行解决。

其中的区别如下:

pthread_exit() : 可以指定返回值,以便其他线程通过 pthread_join()   函数获取该线程的返回值;

return:  在线程函数中使用 return,会退出线程;

这里Himi推荐使用 return ,直接 return NULL;

 

 

  2. 编译提示找不到 sockaddr_in   与 htons等定义,错误提示如下:

出现此类问题,主要是头文件没有加入,虽然在ios编译环境不抱错,但是编译会出现此问题。

 解决方案:

在使用这些函数的类中,加入如下两个头文件:

#include "netdb.h"
#include "netinet/in.h"


3. Curl.h 头文件找不到注意,这里是编译出现头文件找不到的问题,如果你是xcode编译找不到头文件请参考如下博文:(这里讲解的是在ndk编译android过程中出现此类问题的解决办法

【C/S通信交互之Http篇】Cocos2dx(Client)使用Curl与Jetty(Server)实现手机网游Http通信框架(内含解决curl.h头文件找不到问题)

先观察错误的日志:

解决方案:

在你使用curl的类中,虽然导入了curl类,那么你肯定是include “curl/curl.h”导入的吧!OK,改变如下即可,指定到完整相对路径即可:

"../../libs/cocos2dx/platform/third_party/ios/curl/curl.h"

4. 有时候编译报错,错误提示说 curl_global_init 、curl_easy_init、curl_easy_setopt等没有定义undefined !这个问题是因为没有加入curl关联lib包;错误提示如下:

    解决方案:

修改jni下的helloworld下的.mk文件,整个路径如下:

your project//android/jni/helloworld/Android.mk

打开整个mk文件,找到如下内容:

修改成如下内容:

其实就是添加了两句话!但是要注意!

你仔细看添加的第一句下面一句中间的符号,之前是 “  :=  ”现在是 “+=”  一定要注意,这个问题困扰Himi好几个小时 = =。

 OK,基本这些足够解决问题的啦~

从下一篇开始Himi将开始写 mac平台下的编辑器开发系列文章哦


Windows下编译并使用libcurl.lib静态库

1.下载最新版的libcurl,我的是curl-7.44.0.zip,解压,进入目录winbuild,仔细阅读BUILD.WINDOWS.txt这篇文档 打开VS2013 开发人员命令提示并执行nma...

libcurl在vs2013下C++项目中的编译连接

现在我的需求是要把libcurl port入自己的程序里。首先,

相关编译到Android细节总结 编译加入curl关联lib与头文件 && 解决pthread的cancel函数NDK不支持,找不到sockaddr_i

本篇介绍在Cocos2dx中加入网络通信相关代码,然后编译到Android时出现的一些细节和需要注意的地方总结。不多废话了,直接进入正题;    1.  首先介绍在Cocos2dx中使用pt...

【Cocos2dx通信(Http&Socket)相关编译到Android细节总结】编译加入curl关联lib与头文件 && 解决pthread的cancel函数NDK不支持,找不到sockaddr_i

本站文章均为 李华明Himi 原创,转载务必在明显处注明:(作者新浪微博: @李华明Himi ) 转载自【黑米GameDev街区】 原文链接: http://www.himigame....

【Cocos2dx通信(Http&Socket)相关编译到Android细节总结】编译加入curl关联lib与头文件 && 解决pthread的cancel函数NDK不支持,找不到sockaddr_i

本篇介绍在Cocos2dx中加入网络通信相关代码,然后编译到Android时出现的一些细节和需要注意的地方总结。不多废话了,直接进入正题;    1.  首先介绍在Cocos2dx中使用pthr...

Cocos2dx通信(Http&Socket)相关编译到Android细节总结 编译加入curl关联lib与头文件 && 解决pthread的cancel函数NDK不支持,找不到sockaddr_in

本篇介绍在Cocos2dx中加入网络通信相关代码,然后编译到Android时出现的一些细节和需要注意的地方总结。不多废话了,直接进入正题;    1.  首先介绍在Cocos2dx中使用pthr...

【C/S通信交互之Http篇】Cocos2dx(Client)使用Curl与Jetty(Server)实现手机网游Http通信框架(内含解决curl.h头文件找不到问题)

之前已经分享过一篇基于Cocos2dx与服务器使用Socket进行通信的框架,还不太熟悉的请移步到如下博文中: 【C/S通信交互之Socket篇】Cocos2dx(Client)使用BSD Sock...

cocos2dx android编译java文件

  • 2013年11月04日 19:49
  • 32KB
  • 下载

cocos2dx最新2.1.5版本跨平台整合NDK+Xcode,Xcode编写&编译代码,Android导入打包运行

cocos2dx for Android是一个痛,乱象的痛,很简单的一些东西,往往耗费大量的时间,看耐心也看人品。当然也可以说看水平,大拿到什么都知道什么都懂! 其原因就是版本太多,版本改的太多,新版...

使用cocos2dx编译到Android注意事项和NDK-build参数设置

ndk-build概述  I. Usage:  一、使用方法:  The Android NDK r4 introduced a new tiny shell script, named 'nd...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:【Cocos2dx通信(Http&Socket)相关编译到Android细节总结】编译加入curl关联lib与头文件 && 解决pthread的cancel函数NDK不支持,找不到sockaddr_i
举报原因:
原因补充:

(最多只允许输入30个字)