如何使用 CMAKE 切换到 c++_shared 或 c++_static?

How to switch to either c++_shared or c++_static with CMAKE?

在 android Studio 上尝试使用 CPP 代码构建项目,但出现 gnustl_static is no longer supported. 错误。根据其他答案,我在 build.gradle:

上添加了以下内容
 ndk {
        moduleName = "app"
        stl = "stlport_static"
    }

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

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

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

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

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

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