`
chriszeng87
  • 浏览: 741563 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Cocos2d-x 3.2编译生成Android程序出错的解决方案:c++_static报错

阅读更多

最近升级到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路径即可。

 

转自:http://www.bubuko.com/infodetail-344135.html

分享到:
评论

相关推荐

    8 cocos2d-x移植android的解决方案

    2. **生成Android项目**:运行Cocos2d-x安装目录下的`create-android-project.bat`脚本,输入Android包名、项目名称以及所需的Android SDK版本。 3. **资源迁移**:将Win32项目中的`Resources`目录内容复制到...

    cocos2d-x 通过JNI实现c/c++和Android的java层函数互调-源码

    在Android应用开发中,Cocos2d-x是一个广泛使用的开源游戏引擎,它允许开发者使用C++编写游戏逻辑,同时提供了与Java交互的能力。本主题聚焦于如何通过JNI(Java Native Interface)来实现在Cocos2d-x中调用Java层的...

    cocos2d3.0调用android原生态的照相机功能

    在Cocos2d-x 3.0中,调用Android原生的照相机功能是一项常见的需求,这使得游戏或应用可以集成拍照功能,提升用户体验。本文将详细讲解如何实现这一功能。 首先,我们需要理解Cocos2d-x和Android原生代码的交互方式...

    quick-cocos2dx用lua调用自定义c++

    Quick-Cocos2dx基于Cocos2d-x,提供了一层面向对象的C++接口,同时也支持使用Lua作为脚本语言。它的设计目标是使C++和Lua之间的交互变得简单,这样开发者可以在Lua中快速原型设计,然后将关键性能敏感部分用C++重写...

    spine-runtimes-3.8.rar

    `spine-cocos2dx`是专为Cocos2d-x框架定制的Spine运行时库,而`spine-cpp`则是通用的C++实现的Spine运行时,可能被Cocos2d-x或其他使用C++的项目所依赖。 在Cocos2d-x 3.17.2中集成旧版Spine库时,可能会遇到无法...

    NDK下cocos的配置文件

    在Android游戏开发中,Cocos2d-x是一个广泛使用的开源游戏引擎,它允许开发者使用C++、Lua或JavaScript进行编程。NDK(Native Development Kit)是Google提供的一个工具集,用于在Android应用中编写原生代码,如C++...

    cocos2dx 3.3工程,C++通过JNI与Java相互调用

    在IT行业中,跨平台开发是常见需求,Cocos2d-x是一个流行的开源游戏开发框架,支持C++编写游戏逻辑,可以跨平台运行于iOS、Android、Windows等系统。本项目聚焦于Cocos2d-x 3.3版本,探讨如何在C++代码中通过JNI...

    lua 绑定c++类调用

    - 配置项目:将tolua++编译后的库和生成的头文件、源文件添加到你的Cocos2d-x项目中,并在构建脚本中包含它们。 2. **Lua调用C++类**: - 创建对象:在Lua中,你可以使用`tolua_new`函数创建C++类的实例。例如,...

    protobuf-2.6.1

    $(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 $...

    cocos2dx项目搭建索引

    本文将详细介绍如何在Android环境下搭建一个cocos2dx项目,并列举了一些常见的问题及解决方案。 #### 二、项目结构与文件配置 1. **项目初始化**: - 使用Eclipse IDE创建一个新的Android项目,命名为`$(project)...

    coco2dx JNI示例,java c++相互调用

    在Android开发中,Cocos2dx是一个非常流行的2D游戏引擎,它允许开发者使用C++进行游戏逻辑编程,同时提供Java接口与Android系统交互。JNI(Java Native Interface)是Java平台的一部分,它允许Java代码和其他语言写...

Global site tag (gtag.js) - Google Analytics