Android Studio cmake突然没有语法高亮

【Android Studio cmake突然没有语法高亮】人生必须的知识就是引人向光明方面的明灯。这篇文章主要讲述Android Studio cmake突然没有语法高亮相关的知识,希望能为你提供帮助。
NDK开发中,build.gradle中临时添加了-fnoexception编译选项:

externalNativeBuild { cmake { cppFlags ' -std=c++11 -fexceptions' //!!!这里是新增的 arguments ' -Dandroid_PLATFORM=android-21' , ' -DCMAKE_BUILD_TYPE=" Release' , ' -DANDROID_ARM_NEON=ON' , ' -DANDROID_STL=c++_shared' //cppFlags ' -std=c++11' //arguments ' -DANDROID_TOOLCHAIN=clang' , //' -DANDROID_STL=c++_static' //cppFlags " -std=c++11 -fexceptions" } }

结果,点击sync now之后,CMake脚本都失去了高亮,并且报错提示clang++没法识别-fnoexception。检查发现,是CMake脚本中设定了CMAKE_CXX_FLAGS的值里面有-fno-exceptions导致的,去掉即可:
#SET (CMAKE_CXX_FLAGS " ${CMAKE_CXX_FLAGS} -fno-rtti -fno-exceptions -fno-short-enums -Werror=non-virtual-dtor" ) SET (CMAKE_CXX_FLAGS " ${CMAKE_CXX_FLAGS} -fno-rtti -fno-short-enums -Werror=non-virtual-dtor" )

也就是说,是build.gradle脚本和cmake的脚本中的C++编译选项,对于是否启用exception有冲突导致的。

    推荐阅读