Android studio2.2 ndk 错误 :format not a string literal and no format arguments!
Posted 一起学习_Program
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android studio2.2 ndk 错误 :format not a string literal and no format arguments!相关的知识,希望对你有一定的参考价值。
在android Studio2.2 进行NDK编程,在对*char 字符串 进行日志输出时,报错:
error: format not a string literal and no format arguments [-Werror=format-security]
代码:
网上说是版本不兼容导致的!搜索了下解决 方法如下:
解决方法:
在你的ndk目录下修改build/core/default-build-commands.mk
TARGET_FORMAT_STRING_CFLAGS := -Wformat -Werror=format-security
为
TARGET_FORMAT_STRING_CFLAGS := -Wformat #-Werror=format-security
也就是把后面部分用#号注释掉
在 在Application.mk里面添加下面代码
APP_CPPFLAGS += -Wno-error=format-security
加入之后确实ok了。编译通过了。
但是这个修改后,报运行错误 !
最后通过修改代码
把env->GetStringUTFChars(name_,0);
改成:
Env->GetStringUTFChars(name_NULL);
如下图:
运 行,通过!
以上是关于Android studio2.2 ndk 错误 :format not a string literal and no format arguments!的主要内容,如果未能解决你的问题,请参考以下文章
Android Studio2.2.3 通过JNI引用ffmpeg库小结