cocos2d-x在Cygwin上编译Android用库文件时遇到的Box2D问题
来源:互联网 发布:ipython notebook mac 编辑:程序博客网 时间:2024/05/21 06:45
最近想开发一个类似《老爸曾是贼》的益智小游戏,我的开发流程是
1,VC2010上编写Win32版本用于调试
2,使用Cygwin编译
3,使用Eclipse发布apk
在写完玩法演示Demo的win32版本后,使用Cygwin编译时,遇到了问题:找不到Box2D的头文件。
上网看了一些帖子,没受到什么启发,只好自己研究。
后来认真的阅读了cocos2d-x2.1.14提供的范例,知道了问题的原因。现整理如下:
1,首先,我们来看使用create-android-project.bat创建的默认工程jni目录下的Android.mk文件
注意下列文本:
LOCAL_WHOLE_STATIC_LIBRARIES := cocos2dx_static cocosdenshion_static cocos_extension_static
include $(BUILD_SHARED_LIBRARY)
$(call import-module,CocosDenshion/android) \
$(call import-module,cocos2dx) \
$(call import-module,extensions)
我们看到了,工程引用了"cocos2dx_static" (cocos基础库)"cocosdenshion_static“(音效库) ”cocos_extension_static“(ext拓展库)
默认创建的工程并没有引用Box2D库,这就是为什么在Cygwin上编译找不到Box2D头文件的问题。
本着cocos开发有问题找Tests的精神,我查看了 samples/Cpp/TesCpp/proj.android/jni/Android.mk文件
发现如下文本
LOCAL_WHOLE_STATIC_LIBRARIES := cocos_testcpp_common(作者把Tests里的演示都封装在这个库里)
LOCAL_WHOLE_STATIC_LIBRARIES += cocos2dx_static
LOCAL_WHOLE_STATIC_LIBRARIES += cocosdenshion_static
LOCAL_WHOLE_STATIC_LIBRARIES += box2d_static
LOCAL_WHOLE_STATIC_LIBRARIES += chipmunk_static
LOCAL_WHOLE_STATIC_LIBRARIES += cocos_extension_static
include $(BUILD_SHARED_LIBRARY)
$(call import-module,samples/Cpp/TestCpp)
$(call import-module,cocos2dx)
$(call import-module,cocos2dx/platform/third_party/android/prebuilt/libcurl)
$(call import-module,CocosDenshion/android)
$(call import-module,extensions)
$(call import-module,external/Box2D)
$(call import-module,external/chipmunk)
就此恍然大悟。
复制
LOCAL_WHOLE_STATIC_LIBRARIES += box2d_static
和
$(call import-module,external/Box2D)
到我的项目Android.mk文件中,再编译,顺利通过。
顺便打个广告
本人QQ:2813610155
承接各类游戏外包开发任务:)
包括培训 架构 指导开发等等
- cocos2d-x在Cygwin上编译Android用库文件时遇到的Box2D问题
- 在Windows上用cygwin成功编译quick-cocos2d-x项目下的CoinFlip例子
- quick-cocos2d-x Qt版本在windows上遇到的编译问题 LNK2001 !
- cocos2d-x 移植到android中编译的一些问题:fatal error: Box2D/Box2D.h: No such file or directory"
- 编译cocos2d-x for android 项目遇到的问题
- cocos2d-x在Android上的编译过程(3):简化Android.mk文件的编写
- cocos2d-x 2.0 包含box2d编译android
- cocos2d-x 2.0 包含box2d编译android
- 命令行编译cocos2d-x遇到的问题。
- cocos2d-x在Android上的编译过程(2):编译动态库
- cygwin cocos2d-x testCpp 编译问题
- COCOS2D-X ANDROID BOX2D
- 笔记:cocos2d-x 移植到android中编译的一些问题:fatal error: Box2D/Box2D.h: No such file or directory"
- 用cygwin工具重新编译cocos2d-x工程的方法
- Android-cocos2d-x配置遇到的问题
- cocos2d-x android HelloCpp 遇到的问题。
- Cocos2d-x/Cocos2d-js编译64位so库中遇到的问题
- 创建cocos2d-x的cygwin环境变量问题
- Jquery实现网页跳转或用命令打开指定网页!
- JAVA NIO 简介
- 在UITableView顶部制作简单的UISegmentControl实例方法
- 注释
- 转:ADC 分辨率和精度的区别
- cocos2d-x在Cygwin上编译Android用库文件时遇到的Box2D问题
- 记一个自己写nodejs实现的树洞
- 基于Hadoop的大数据平台实施记——整体架构设计
- 慢慢琢磨JVM
- 创意、随想、生活好点子(第二季)
- 关于内部类
- ofbiz 的screen中有哪些变量
- VisualStudio2010自动排版以及常用快捷键
- 六世达赖(1683--1706)仓央嘉措,大家都记得他流传很广的《见与不见》,这位西藏历史上生平迷离、极具才华、又最受争议的喇嘛写出了他的心声一 谁,执我之手,敛我半世癫狂; 谁,吻我之眸,