1. 下载socketcc和pthreadcc的压缩包, 解压后将这两个文件夹丢入Classes目录.
2.更新android.mk文件.
LOCAL_SRC_FILES := hellocpp/main.cpp \
../../Classes/AppDelegate.cpp \
../../Classes/HelloWorldScene.cpp \
../../Classes/network/NetManager.cpp \
../../Classes/pthreadcc/condition.cpp \
../../Classes/pthreadcc/mutualexclusion.cpp \
../../Classes/pthreadcc/semaphore.cpp \
../../Classes/pthreadcc/threadbase.cpp \
../../Classes/pthreadcc/threadexception.cpp \
../../Classes/socketcc/ipaddress.cpp \
../../Classes/socketcc/socketbase.cpp \
../../Classes/socketcc/socketexception.cpp \
../../Classes/socketcc/tcpsockets.cpp \
../../Classes/socketcc/udpsockets.cpp
LOCAL_C_INCLUDES := $(LOCAL_PATH)/../../Classes \
$(LOCAL_PATH)/../../Classes/network \
$(LOCAL_PATH)/../../Classes/socketcc \
$(LOCAL_PATH)/../../Classes/pthreadcc
其中红色部分内容可以用脚本生成, 我的脚本是:
for line in `find . -name "*.cpp"`
do
echo -n "../../Classes"
echo -n $line | sed 's/.//'
echo ' \'
done
3. 此时编译会报错, 异常未开启, 还有平台未定义, 在Application.mk中加入:
APP_STL := stlport_static
APP_CPPFLAGS := -frtti -DCOCOS2D_DEBUG=1 --fexceptions -DPLATFORM_linux
4. 修改bcmp为memcpy,否则会报未定义引用错误
参考文章: