cocos2dx加libevent库

本文详细介绍了如何在不同平台上将libevent库集成到cocos2dx项目中,包括win32、iOS和Android。对于win32,需要将lib和头文件放置在相应目录并配置VS。在iOS上,需要生成并导入对应库文件,并在Xcode中设置搜索路径。Android部分较为复杂,涉及LOG调试、NDK编译问题、网络权限和库函数缺失等,需要解决这些问题并正确引入libevent库。

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

路径: $path = cocos2dx/platform/third_party

1.win32

   将生成的libevent_core.lib,libevent_extras.lib放到$path/win32/libraries中

   头文件event2和event-config.h 放到$path/win32/libevent中

   VS中设置include path和 add lib

 

2.ios

   生成IOS平台的库文件(libevent_core.a,libevent_extra.a,libevent_pthreads.a)放到$path/ios/libraries中,注意:是IOS的库文件,不是linux的

   头文件放到$path/ios/libevent

  xcode中增加head search path 和 添加刚才的3个库文件

  库文件找了也是用libevent的OnionBrowser生成

 

3.android

   android实在在多坑了,搞了好久才搞定

  问题列表

   1).logcat输出调试:在proj.android/jni/andoird.mk 中加入LOCAL_CFLAGS := -DCOCOS2D_DEBUG=1

   2).在NDK BUILD过程中提示htons找不到,查了好久发现是自定义的endian.h和系统文件重名

   3).加好后bufferevent_socket_connect返回-1,连接失败.

        原因是没有网络权限,在proj.android/AndroidManifest.xml中加上 权限申请

        <uses-permission android:name="android.permission.INTERNET"></uses-permission>

   4) ndk build完后连接失败,找不到一些库函数,原因是在build libevent.a的时候注释了一段,链接符"\"结果把后面的全都注释掉了,

       导致libevent.包不完整

 

    添加库:在网上git找了个andoird用的libevent,用ndk build好后放到$path/android/libevent中,.mk文件写法跟libcurl一样

   链接:https://github.com/ventureresearch/libevent/tree/master

   然后在proj.android/jni/andoird.mk中加上LOCAL_STATIC_LIBRARIES += cocos_event_static;

             $(call import-module,cocos2dx/platform/third_party/android/prebuilt/libevent)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值