在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);
如下圖:
運 行,通過!