2017-01-31 11 views
0

Я работаю над некоторым собственным проектом Android с CMake. Там, где у меня проблема, указанная выше ошибки.Исходная ошибка встроенной сборки Android потенциально небезопасна [-Werror, -Wformat-security]

Я создал метод для регистрации из c-файлов.

void log_android(int prio, const char *fmt, ...) { 
    if (prio >= loglevel) { 
     char line[1024]; 
     va_list argptr; 
     va_start(argptr, fmt); 
     vsprintf(line, fmt, argptr); 
     __android_log_print(prio, TAG, line); 
     va_end(argptr); 
    } 
} 

При составлении этого я получаю вопрос String is not String literal на __android_log_print(prio, TAG, line); возле слова line.

Это говорит его potentially insecure [-Werror,-Wformat-security] После выполнения некоторого R & D я обнаружил, что мне нужно использовать определенные CPPFLAGS внутри Cmake APP_CFLAGS += -Wno-error=format-security. Но я не уверен, где разместить этот код внутри своего CMakeLists.txt.

Я пытался использовать эти методы в CMakeLists.txt

set(compiler_c_flags "-Wno-error=format-security") 
set(compiler_cpp_flags "-Wno-error=format-security") 

Но не успех, пожалуйста, не поможет.

ответ

0

ОК, поэтому я сам решил проблему. Я использовал

set(compiler_c_flags "-Wno-error=format-security") 

вместо

set(CMAKE_C_FLAGS "-Wno-error=format-security")