编译Cocos2dx程序 (一)

1、安装AndroidStudio

2、安装JDK

3、安装NDK

4、编译Cocos2dx工程,到 build 打开工程,用的都是动态库。

Cocos2dx自动生成的项目中,Additional Dependencies 里看不到引用的 Lib。

在 Command Line 可以看到引用的库,如果使用了Lua,会看到有 libluacocos2d.lib 的引用。

5、现在安卓项目都用AndroidStudio,项目下的 c/c++ 文件会先编译为 so,然后被主工程动态加载进来。

编译这些 c/c++ 文件会使用 NDK。

请阅读 NDK 的文档,如果看不太懂也先从前往后过一遍。

6、项目中如果使用预编译的库,那需要使用 PREBUILT_STATIC_LIBRARY,这个在 NDK 的手册里有专门一页来介绍。

需要给每个库文件都写一个 Android.mk 文件,然后把他们放在独立的目录中,然后依次调用。

编译Cocos2dx程序 (一)

7、静态库子工程 Android.mk 例子

1 LOCAL_PATH := $(call my-dir)
2 
3 include $(CLEAR_VARS)
4 LOCAL_MODULE := pbc
5 LOCAL_SRC_FILES := libpbc.a
6 LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/../../../../Classes/pbc/include
7 include $( PREBUILT_STATIC_LIBRARY)

8、外部工程 Android.mk 例子

1 LOCAL_PATH := $(call my-dir)
 2 
 3 include $(CLEAR_VARS)
 4 
 5 LOCAL_CPPFLAGS := -std=c++11 -pthread -frtti
 6 
 7 LOCAL_MODULE := cpp_empty_test_shared
 8 
 9 LOCAL_MODULE_FILENAME := libcpp_empty_test
10 
11 LOCAL_SRC_FILES := main.cpp 
12                    ../../../Classes/AppDelegate.cpp 
13                    ../../../Classes/HelloWorldScene.cpp 
14                    ../../../Classes/net_game_dispatcher.cpp
15 
16 LOCAL_C_INCLUDES := $(LOCAL_PATH)/../../../Classes 
17                     $(LOCAL_PATH)/../../../../../cocos 
18                     $(LOCAL_PATH)/../../../../../external/lua/lua 
19                     $(LOCAL_PATH)/../../../../../external/lua/tolua 
20                     D:/android-ndk-r10b/platforms/android-19/arch-arm/usr/include
21 
22 LOCAL_LDLIBS := -llog
23 
24 LOCAL_STATIC_LIBRARIES := cocos2d_lua_static
25 LOCAL_STATIC_LIBRARIES += pbc
26 LOCAL_STATIC_LIBRARIES += scnet
27 
28 include $(BUILD_SHARED_LIBRARY)
29 
30 $(call import-module,scripting/lua-bindings/proj.android)
31 $(call import-module,pbc)
32 $(call import-module,scnet)

9、可能会遇到下面类似的提示,不要惊慌,那是由于没有设置好被 call 引用的路径

编译Cocos2dx程序 (一)

创建一个类似下面的脚本,Win上使用;号隔开,Mac上可能使用:号

1 set NDK_MODULE_PATH=E:/cocos2d-x-3.11;E:/cocos2d-x-3.11/cocos;E:/cocos2d-x-3.11/external;E:/cocos2d-x-3.11/tests/cpp-empty-test/proj.android-studio/app/jni;D:/android-ndk-r10b/platforms/android-19/arch-arm/usr/include
2 ndk-build

原文链接: https://www.cnblogs.com/tomren/p/5654314.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/236625

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年2月13日 下午5:06
下一篇 2023年2月13日 下午5:06

相关推荐