cocos2d-x 3.0 引用第三方库 及编译成apk时android mk文件写法

cocos2d-x 3.0 中,如果你需要使用CocosStudio、Extensions扩展库 等等,都需要自己手动添加。

添加步骤如下:(比如说现在我要添加libExtensions,libCocosStudio , libGUI)

1.添加附加项目

右击解决方案--->添加现有项目--->添加:项目目录\cocos2d\extensions\proj.win32\libExtensions,然后你会发现左边多了一个libExtensions扩展库

右击解决方案--->添加现有项目--->添加:项目目录\cocos2d\cocos\editor-upport\cocostudio\proj.win32\libCocosStudio,然后你会发现左边多了一个libCocosStudio扩展库

libGUI类似....

完成后类似这样子

2.引用这些项目

右键你的项目---属性
---通用属性---框架和引用---添加引用,然后添加libExtensions,libCocosStudio,完成后大概像这样子

3.添加包含目录,否则你include头文件会提示找不到 

右键---项目---配置属性---C/C++
--- 常规---附加包含目录---编辑---添加

$(EngineRoot)

$(EngineRoot)cocos

$(EngineRoot)cocos\editor-support

完成后大概像这样子

4.引入头文件使用

#include "extensions/cocos-ext.h"
#include "cocostudio/CocoStudio.h"

注意写法,不是#include "cocos-ext.h",虽然这样子写win32可以编译通过,可是编译成android apk时会经常找不到cocos-ext.h等等错误

5.编译成android apk需要在android mk文件中加入路径的配置,附上我的android mk文件写法

LOCAL_PATH := $(call my-dir)

include $(CLEAR_VARS)

LOCAL_MODULE := cocos2dcpp_shared

LOCAL_MODULE_FILENAME := libcocos2dcpp

LOCAL_SRC_FILES := hellocpp/main.cpp                    ../../Classes/AppDelegate.cpp                    ../../Classes/ClipingNodeLayer.cpp                   ../../Classes/MainScene.cpp                   ../../Classes/MenuTab.cpp

LOCAL_C_INCLUDES := $(LOCAL_PATH)/../../Classes

LOCAL_WHOLE_STATIC_LIBRARIES := cocos2dx_static
LOCAL_WHOLE_STATIC_LIBRARIES += cocosdenshion_static
LOCAL_WHOLE_STATIC_LIBRARIES += box2d_static
LOCAL_WHOLE_STATIC_LIBRARIES += cocos_extension_static          # 添加 cocos_extension 静态库
LOCAL_WHOLE_STATIC_LIBRARIES += cocostudio_static		# 添加 cocostudio 静态库

include $(BUILD_SHARED_LIBRARY)

$(call import-module,2d)
$(call import-module,audio/android)
$(call import-module,Box2D)
$(call import-module,extensions)				# 导入 extensions 模块
$(call import-module,editor-support/cocostudio)			# 导入 cocostudio 模块

6 最后编译为apk

cmd -->cd F:\VsProjects\cocos3Test  (工程根目录)

然后命令:

cocos compile -p android -j 4

然后泡杯热茶,坐等编译成功~~

cocos2d-x 3.0 引用第三方库 及编译成apk时android mk文件写法

时间: 2024-11-03 05:28:21

cocos2d-x 3.0 引用第三方库 及编译成apk时android mk文件写法的相关文章

APK中引用第三方库文件

注意以下操作是在源码中进行,即修改Android.mk,并非借助IDE(AndroidStudio)的情形. 引用第三方JAR包 1,在源Android.mk里面加参数,使其编译为JAR包,然后mm编译 ... LOCAL_MODULE_CLASS := JAVA_LIBRARIES include $(BUILD_JAVA_LIBRARY) ... 2,提取class.jar选用 把common下面的jar包文件(out\target\common\obj\JAVA_LIBRARIES\xxx

iOS项目中引用第三方库引发冲突的解决方法

在iOS程序开发过程中,经常会碰见引用第三方库出现类名重复使用,导致冲突. 解决方案 1.使用命令将.a库中的相同的包移除 2.在编译链接项中添加-dead_strip项  补充说明: -dead_strip:删除多余的库符号: -all_load:让链接器把所有找到的目标文件都加载到可执行文件中: -force_load:所做的事情跟-all_load其实是一样的,但是-force_load需要指定要进行全部加载的库文件的路径 使用命令将.a库中的相同的包移除步骤如下: 1.创建临时文件夹(用

CocoaPods 引用第三方库导致的模拟器可以运行,但是真机不可以运行问题。

Most headache is not code issue, but compile problem 对于 iOS 的编译机制,暂时不是了解太多,不过,知识是一个积累的过程,以后会把编译方面以及第三方管理工具或者路径设置等等问题放在这里. 先上 stackoverflowe 链接 http://stackoverflow.com/questions/25298957/cocoapods-can-not-build-a-arm-file-of-type-a-ld-library-not-fou

关于egret引用第三方库的笔记

关于egret引用第三方库的笔记 当前我需要使用一个第三方的js库(umeng的js统计): 我创建个UmengAnalysis.js文件,代码如下: /**  * Created by haocao on 15/6/25.  */ var umeng; (function(umeng){     function onClickEvent(label,duration){         onEvent('click',label,duration)     }     function on

iOS开发 引用第三方库出现duplicat…

在iOS开发中, 难免会集成别人的三方类库, 当集成的三方类库过多时, 难免会出现某些库同时使用了同样的函数库, 导致link的时候报错提示duplicate symbol.详情见图: 引用第三方库出现duplicate symbol时的处理方法" TITLE="iOS开发 引用第三方库出现duplicate symbol时的处理方法" /> 这样的报错让我们觉得很麻烦, 这样的文件重复错误, 不是由自己的程序中的代码造成的, 而是别人的三方类库, 也就是说, 这种情况

mac下cocos2dx(带jsoncpp第三方库)编译为android项目心得

在mac下好不容写完了游戏,本以为轻轻松松就能编译为android项目,想不到弄了将近1整天才将问题解决 首先不带jsoncpp的编译方式请参考:http://www.bold-it.com/ios/cocos2d-x-box2d-iosandroid-hybrid-tutorial/ 带jsoncpp第三方库的参考了http://blog.csdn.net/sniffer12345/article/details/7336732,对作者表示感谢. 我使用的是正常的jsoncpp版本,在json

02_JNI中Java代码调用C代码,Android中使用log库打印日志,javah命令的使用,Android.mk文件的编写,交叉编译

?? 1  编写以下案例(下面的三个按钮都调用了底层的C语言): 项目案例的代码结构如下: 2 编写DataProvider的代码: package com.example.ndkpassdata; public class DataProvider { /** * 计算x和y的加法  apktools * * @param x * @param y * @return */ public native int add(int x,int y); /** * 给字符串后面拼接字符串   加密运算

cocos2d-x 3.0 android mk文件 之 自动遍历*.cpp文件

还记得上一篇android mk 文件的写法吗?传送门, 我们需要手动去添加 cpp文件,如果cpp一多,那不是要累死? LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) LOCAL_MODULE := cocos2dcpp_shared LOCAL_MODULE_FILENAME := libcocos2dcpp LOCAL_SRC_FILES := hellocpp/main.cpp ../../Classes/AppDelegate.cp

ndk中引用第三方库以及遍历所有源文件的方法

LOCAL_PATH:= $(call my-dir) #第三方库的设置方法,后面通过LOCAL_STATIC_LIBRARIES来引用include $(CLEAR_VARS)LOCAL_MODULE := libcrypto LOCAL_SRC_FILES := libcrypto.ainclude $(PREBUILT_STATIC_LIBRARY) include $(CLEAR_VARS)LOCAL_MODULE := openssl_useLOCAL_C_INCLUDES := E: