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

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


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


1.添加附加项目


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

右击解决方案--->添加现有项目--->添加:项目目录cocos2dcocoseditor-upportcocostudioproj.win32libCocosStudio,然后你会发现左边多了一个libCocosStudio扩展库

libGUI类似....


完成后类似这样子


2.引用这些项目


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


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


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

$(EngineRoot)

$(EngineRoot)cocos

$(EngineRoot)cocoseditor-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:VsProjectscocos3Test  (工程根目录)

然后命令:

cocos compile -p android -j 4
然后泡杯热茶,坐等编译成功~~


原文地址:https://www.cnblogs.com/fzll/p/3954603.html