warning: in-class initialization of non-static data member is a C++11 extension [-Wc++11-extensions

NDK 开发中出现下面的错误. 说是 在类初始化非静态数据成员是C++ 11扩展 意思是 必须让编译器是c++11 的扩展

xyyyplayer/src/main/cpp/XYCallJava.h:16:20: warning: in-class initialization of non-static data member is a C++11 extension [-Wc++11-extensions]
JavaVM *javaVM = NULL

解决方式 在CMakelist中 添加下面代码 使其支持c++11

# cmakelists 设置c++11
include(CheckCXXCompilerFlag)
CHECK_CXX_COMPILER_FLAG("-std=c++11" COMPILER_SUPPORTS_CXX11)
CHECK_CXX_COMPILER_FLAG("-std=c++0x" COMPILER_SUPPORTS_CXX0X)
if(COMPILER_SUPPORTS_CXX11)
    set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
elseif(COMPILER_SUPPORTS_CXX0X)
    set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++0x")
else()
    message(STATUS "The compiler ${CMAKE_CXX_COMPILER} has no C++11 support. Please use a different C++ compiler.")

endif()
# cmakelists 设置c++11

你可能感兴趣的:(android开发技巧总结)