Android Studio cmake突然没有语法高亮

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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有冲突导致的。

以上是关于Android Studio cmake突然没有语法高亮的主要内容,如果未能解决你的问题,请参考以下文章

Android Studio手动配置Makefile、CMake

C++学习(四四零)android studio如何关联cmake

android studio 2.2.2 32位怎么配置ndk cmake环境

Android Studio CMake 错误:构建命令失败

NDK开发 从入门到放弃(七:Android Studio 2.2 CMAKE 高效NDK开发)

Android Studio突然崩溃