cocos2dx加libevent库

路径: $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)

你可能感兴趣的:(libevent,cocos2dx)