本站文章均为李华明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平台下的编辑器开发系列文章哦~
分享到:
相关推荐
cocos2dx 编译到 android
ios编译COCOS2DX时,有些版本会出现以下错误,'__curl_rule_01__' declared as an array with a negative size 只需把附件的CURL代码替换掉引擎的,再把SO库拉到工程中,即可解决这问题
cocos2dx android编译用java文件
将Cocos2dx从win32移植到android平台 不用cygwin 只要简单的几步就可轻松搞定
此代码在cocos2dx2.1.4下面编译有部分错误,我修改后,正常。 下下来后,请在VC++包含目录中链接(F:\cocos2d-x-2.1.4\cocos2dx\platform\win32;F:\cocos2d-x-2.1.4\cocos2dx\platform\third_party\win32\OGLES\GL\;...
使用cocos2dx新建的helloword工程,嵌入到android原生项目中的demo
cocos2dx实现的 HTML label, 和cocos2dx 实现的 checkboxgroup (scrollview)
http://blog.csdn.net/ctxdecs/article/details/43888399
cocos2dx android cpp-tests 编译成功的apk文件(debug版) cocos2dx android 基本例子程序 编译成功的apk文件(debug版)
COCOS2DX开发工具大全,免得开发者到处找,全部可以用,包括破解文件,具体包括: TexturePacker,CocosBuilder,cocos2dx粒子编辑器等
cocos2dx lua 解密工具xxtea_decrypt,非常好用,直接就可以反编译出来
ios编译COCOS2DX时,有些版本会出现以下错误,'__curl_rule_01__' declared as an array with a negative size 只需把所有的.h文件替换掉引擎的,再把libcurl.a添加到工程中,即可解决这问题
使用Cocos2dx-3.8&C++开发的雷霆战机小游戏.zip
cocos2dx android apk javascript cocos2dx android apk javascript cocos2dx android apk javascript cocos2dx android apk javascript cocos2dx android apk javascript
cocos2d-x编译多平台cmake文件,版本号是3.20。亲测可用。
cocos2dx scrollview优化
该问题的解决方案有两种:1)升级Cocos2dx的版本,在查看Cocoas官网及Cocoas论坛,cocoas在4.0修复了这个问题,如果可以更新到4.0以上,建议更新;不想更新的话,可以修改UIWebView为WKWebView。具体的修改方式使用...
基于cocos2dx3.2的ScrollView改良版,...由于cocos库太大,压缩包里已经移除cocos核心库,需要自行下载安装cocos2dx 3.2版本,并任意生成一个cocos2dx项目,把里面的cocos文件夹复制到ScrollViewDemo文件夹下即可。
cocos2dx android 游戏开发 引擎 分析
中文编码utf和gbk互转的库,可在cocos2dx android游戏用到