创建项目后NDK编译警告当作错误处理的解决方案

12 篇文章 0 订阅
6 篇文章 0 订阅

http://blog.k-res.net/archives/1505.html

问题为编译cocos2d-x创建的android项目时,原生代码部分编译脚本build_native.sh触发的NDK编译警告被当作错误处理,项目实际编译生成成功了但是Eclipse不能运行!

开发环境:

Mac OSX ML 10.8.3

Android Developer Tools Build: v21.1.0-569685 (developer.android.com下载的整合ADT SDK的Eclipse)

android-ndk-r8e 64bit

cocos2d-2.1rc0-x-2.1.2-hotfix


通过cocos2d-x自带的create-android-project.sh脚本生成项目后Eclipse使用导入已存在项目(不拷贝到工作目录)后编译,发现自动生成的Hello World项目模板并未添加Native支持,于是右键项目Android Tools-》添加原生支持,之后项目加入了CDT部分内容,然后按照之前导入过的TestCpp示例项目,设置C/C++ Build参数,这里还遇到一个小问题,就是示例项目写的是bash ${ProjDirPath}/build_native.sh这样,而如果我在新建的项目中照抄这个命令行的话,会出现bash命令前被自动加入了NDK目录,然后导致找不到bash执行失败,我的解决方法是直接写入绝对路径/bin/bash!再有就是如果提示NDK_ROOT未定义的话,而又不想修改~/.bash_profile,那么可以在C/C++ Build->Enviroment中加入NDK_ROOT环境变量定义解决。

都设置好后,NDK成功开始编译,然后就会出现

android-ndk-r8e/build/core/add-application.mk:128: Android NDK: WARNING: APP_PLATFORM android-14 is larger than android:minSdkVersion 8 in ./AndroidManifest.xml

这样的提示,并被作为Errors列在了Eclipse的错误列表里,最终导致虽然成功生成了libgame.so但项目却不能运行!解决方法是在Eclipse偏好设置-> C/C++ -> Build -> Settings的Error Parsers的CDT GNU C/C++ Error Parser中加入一条新的Pattern并作为警告处理:

Severity: Warning
Pattern: (.*?):(\d+): Android NDK: WARNING:(.*)
File: $1
Line: $2
Description: $3

并且一定要注意新加入的这条要Move Up到一定的高度,从而提高优先级才可以,修改后重新编译项目Warning被正确的当作Warning处理且不会影响项目运行了。

===========

补充,eclipse要退出后重新进才行。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值