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

时间:2023-02-09 12:47:10

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类似....


完成后类似这样子

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


2.引用这些项目


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

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


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


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

$(EngineRoot)

$(EngineRoot)cocos

$(EngineRoot)cocos\editor-support


完成后大概像这样子


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


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
然后泡杯热茶,坐等编译成功~~