cocos2dx android mk 2.0.2编译文件目录以及导入库问题
这里,我贴出解决方案,你要是用2.0.2的话直接按照我说的来就好了,期间一步步出现的东西太繁琐,不便一一详述:
首先看Android.mk文件,之前1.x的版本的时候这个文件在class里面,到了2.0.2的时候他到了proj.android\jni这个下面,大家注意。但是2.0.3的时候就已经不需要处理Android.mk文件了,现在贴出Android.mk文件:
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := game_shared
#LOCAL_MODULE_FILENAME := libgame
LOCAL_SRC_FILES := hellocpp/main.cpp \
../../Classes/AppDelegate \
../../Classes/BodyObject.cpp \
../../Classes/FDBody.cpp \
../../Classes/GB2ShapeCache-x.cpp \
../../Classes/GLES-Render.cpp \
../../Classes/HelloWorldScene.cpp \
../../Classes/PhysicsLayer.cpp \
../../Classes/PhysicsSprite.cpp \
../../Classes/TextField.cpp \
../../Classes/ToyMenuSprite.cpp
LOCAL_C_INCLUDES := $(LOCAL_PATH)/../../Classes \
$(LOCAL_PATH)/../../../cocos2dx \
$(LOCAL_PATH)/../../../cocos2dx/platform \
$(LOCAL_PATH)/../../../cocos2dx/include \
$(LOCAL_PATH)/../../../cocosDension/include
LOCAL_WHOLE_STATIC_LIBRARIES := cocos2dx_static cocosdenshion_static cocos_extension_static box2d_static
include $(BUILD_SHARED_LIBRARY)
$(call import-module,CocosDenshion/android) \
$(call import-module,cocos2dx) \
$(call import-module,extensions) \
$(call import-module,external/Box2D)
期间,多了box2d,你要是正常编译会报Box2D/Box2D.h找不到,这时候你需要处理:$(call import-module,external/Box2D) 和 box2d_static,今天从群里问了什么要单独引用第三方的包啊!等等,那样太麻烦,贴出这种方法供大家使用
还有一个就是#LOCAL_MODULE_FILENAME := libgame这个要注释起来,否则会报错,具体是什么我忘记了。【补充:今天看了看,是game_shared库找不到】
最后一个错误就是包game库什么的找不到,体现是你一运行程序就崩溃,这是你将项目src下面一个文件下的
System.loadLibrary("game");
改为
System.loadLibrary("game_shared");
ok,具备了这些,2dx–2.0.2编译到android下面就没什么问题了。
发布日期:2021-06-30 16:01:23
浏览次数:2
分类:技术文章
本文共 1578 字,大约阅读时间需要 5 分钟。
今天编了个2.0.2的游戏到android平台上,麻烦是一大堆啊!这里,我贴出解决方案,你要是用2.0.2的话直接按照我说的来就好了,期间一步步出现的东西太繁琐,不便一一详述:
首先看Android.mk文件,之前1.x的版本的时候这个文件在class里面,到了2.0.2的时候他到了proj.android\jni这个下面,大家注意。但是2.0.3的时候就已经不需要处理Android.mk文件了,现在贴出Android.mk文件:
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := game_shared
#LOCAL_MODULE_FILENAME := libgame
LOCAL_SRC_FILES := hellocpp/main.cpp \
../../Classes/AppDelegate \
../../Classes/BodyObject.cpp \
../../Classes/FDBody.cpp \
../../Classes/GB2ShapeCache-x.cpp \
../../Classes/GLES-Render.cpp \
../../Classes/HelloWorldScene.cpp \
../../Classes/PhysicsLayer.cpp \
../../Classes/PhysicsSprite.cpp \
../../Classes/TextField.cpp \
../../Classes/ToyMenuSprite.cpp
LOCAL_C_INCLUDES := $(LOCAL_PATH)/../../Classes \
$(LOCAL_PATH)/../../../cocos2dx \
$(LOCAL_PATH)/../../../cocos2dx/platform \
$(LOCAL_PATH)/../../../cocos2dx/include \
$(LOCAL_PATH)/../../../cocosDension/include
LOCAL_WHOLE_STATIC_LIBRARIES := cocos2dx_static cocosdenshion_static cocos_extension_static box2d_static
include $(BUILD_SHARED_LIBRARY)
$(call import-module,CocosDenshion/android) \
$(call import-module,cocos2dx) \
$(call import-module,extensions) \
$(call import-module,external/Box2D)
期间,多了box2d,你要是正常编译会报Box2D/Box2D.h找不到,这时候你需要处理:$(call import-module,external/Box2D) 和 box2d_static,今天从群里问了什么要单独引用第三方的包啊!等等,那样太麻烦,贴出这种方法供大家使用
还有一个就是#LOCAL_MODULE_FILENAME := libgame这个要注释起来,否则会报错,具体是什么我忘记了。【补充:今天看了看,是game_shared库找不到】
最后一个错误就是包game库什么的找不到,体现是你一运行程序就崩溃,这是你将项目src下面一个文件下的
System.loadLibrary("game");
改为
System.loadLibrary("game_shared");
ok,具备了这些,2dx–2.0.2编译到android下面就没什么问题了。
转载地址:https://kaitiren.blog.csdn.net/article/details/9013525 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
哈哈,博客排版真的漂亮呢~
[***.90.31.176]2024年04月06日 21时36分04秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
哨兵机制服务器环境准备
2019-05-01
携程Apollo动态配置日志级别
2019-05-01
SpringBoot整合Redis事务
2019-05-01
项目整合一级缓存和二级缓存
2019-05-01
自定义注解和aop抽取重复代码
2019-05-01
互联网API开放平台安全设计-基于OAuth2.0协议方式
2019-05-01
URL特殊字符转码
2019-05-01
对称加密整个过程
2019-05-01
java内存模型
2019-05-01
volatile关键字
2019-05-01
web服务器软件_概述
2021-07-04
tomcat_启动问题分析
2019-05-01
tomcat_关闭
2019-05-01
tomcat_部署项目的方式
2019-05-01
tomcat_动态java项目的目录结构
2019-05-01
Servlet_概述
2019-05-01
Servlet_快速入门
2019-05-01
Servlet_执行原理
2019-05-01
Servlet_生命周期方法
2019-05-01
Servlet_生命周期详解
2019-05-01