最近升级到Cocos2d-x 3.2正式版,iOS程序编译没任何问题,结果使用cocos compile -p android编译生成APK程序,结果悲剧了,出现以下错误。
Android NDK: Invalid APP_STL value: c++_static
Android NDK: Please use one of the following instead: system stlport_static stlport_static_hard stlport_shared stlport_shared_hard gnustl_static gnustl_shared gabi++_static gabi++_shared libc++_static libc++_shared none
make: Entering directory `/game/physics_engine/proj.android‘
/sdk/ndk/android-ndk-r9c/build/core/add-application.mk:274: *** Android NDK: Aborting . Stop.
make: Leaving directory `/game/physics_engine/proj.android‘
Error running command, return code: 2
很显然,这个错误是使用了不正确的STL Library,解决方案有如下两个。
方案1:临时方案
修改Application.mk文件,将原来的前4行替换为如下的内容。然后替换就ok了
原来的内容如下:
APP_STL := c++_static
NDK_TOOLCHAIN_VERSION=clang
APP_CPPFLAGS := -frtti -DCC_ENABLE_CHIPMUNK_INTEGRATION=1 -std=c++11 -fsigned-char
APP_LDFLAGS := -latomic
替换后的内容如下:
APP_STL := gnustl_static
APP_CPPFLAGS := -frtti -DCOCOS2D_DEBUG=1 -std=c++11 -Wno-literal-suffix -fsigned-char
方案2:
由于c++_static只有在最新的NDK中才可使用,所以下载最新的NDK就可以了
大家可以从http://developer.android.com/tools/sdk/ndk/index.html下载最新的NDK版本,然后从新设置ndk路径即可。
相关推荐
2. **生成Android项目**:运行Cocos2d-x安装目录下的`create-android-project.bat`脚本,输入Android包名、项目名称以及所需的Android SDK版本。 3. **资源迁移**:将Win32项目中的`Resources`目录内容复制到...
在Android应用开发中,Cocos2d-x是一个广泛使用的开源游戏引擎,它允许开发者使用C++编写游戏逻辑,同时提供了与Java交互的能力。本主题聚焦于如何通过JNI(Java Native Interface)来实现在Cocos2d-x中调用Java层的...
在Cocos2d-x 3.0中,调用Android原生的照相机功能是一项常见的需求,这使得游戏或应用可以集成拍照功能,提升用户体验。本文将详细讲解如何实现这一功能。 首先,我们需要理解Cocos2d-x和Android原生代码的交互方式...
Quick-Cocos2dx基于Cocos2d-x,提供了一层面向对象的C++接口,同时也支持使用Lua作为脚本语言。它的设计目标是使C++和Lua之间的交互变得简单,这样开发者可以在Lua中快速原型设计,然后将关键性能敏感部分用C++重写...
`spine-cocos2dx`是专为Cocos2d-x框架定制的Spine运行时库,而`spine-cpp`则是通用的C++实现的Spine运行时,可能被Cocos2d-x或其他使用C++的项目所依赖。 在Cocos2d-x 3.17.2中集成旧版Spine库时,可能会遇到无法...
在Android游戏开发中,Cocos2d-x是一个广泛使用的开源游戏引擎,它允许开发者使用C++、Lua或JavaScript进行编程。NDK(Native Development Kit)是Google提供的一个工具集,用于在Android应用中编写原生代码,如C++...
在IT行业中,跨平台开发是常见需求,Cocos2d-x是一个流行的开源游戏开发框架,支持C++编写游戏逻辑,可以跨平台运行于iOS、Android、Windows等系统。本项目聚焦于Cocos2d-x 3.3版本,探讨如何在C++代码中通过JNI...
- 配置项目:将tolua++编译后的库和生成的头文件、源文件添加到你的Cocos2d-x项目中,并在构建脚本中包含它们。 2. **Lua调用C++类**: - 创建对象:在Lua中,你可以使用`tolua_new`函数创建C++类的实例。例如,...
$(call import-add-path,$(LOCAL_PATH)/../../cocos2d/cocos/audio/include) LOCAL_MODULE := MyGame_shared LOCAL_MODULE_FILENAME := libMyGame FILE_LIST := hellocpp/main.cpp FILE_LIST += $(wildcard $...
本文将详细介绍如何在Android环境下搭建一个cocos2dx项目,并列举了一些常见的问题及解决方案。 #### 二、项目结构与文件配置 1. **项目初始化**: - 使用Eclipse IDE创建一个新的Android项目,命名为`$(project)...
在Android开发中,Cocos2dx是一个非常流行的2D游戏引擎,它允许开发者使用C++进行游戏逻辑编程,同时提供Java接口与Android系统交互。JNI(Java Native Interface)是Java平台的一部分,它允许Java代码和其他语言写...