如何使用CMAKE切换到c ++ _ shared或c ++ _ static?

时间:2019-05-29 05:08:57

标签: android android-gradle

在android Studio上,尝试使用CPP代码构建项目,但出现gnustl_static is no longer supported.错误。从其他答案中,我在build.gradle上添加了以下内容:

 ndk {
        moduleName = "app"
        stl = "stlport_static"
    }

,但是它不起作用,并再次显示此错误消息。尝试this linkANDROID_STL=c++_static上添加了cmake{...},但出现以下错误:

CMake Error: The source directory "G:/Applications/.../app/ANDROID_STL=c++_static" does not exist.

如何在最新的android studio上解决此错误消息?

1 个答案:

答案 0 :(得分:0)

stl属性可能在过去可用。但是如今,您可以使用arguments属性来指定STL,例如:

android {
    defaultConfig {
        externalNativeBuild {
            cmake {
                arguments '-DANDROID_STL=c++_static'
            }
         }
    }
}

请注意,c++_static是使用cmake为Android构建时的默认设置。因此,如果您要使用的是STL,则根本不需要指定它。