You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

React Native Android构建报错:无法找到库-lc++_shared

解决React Native Android构建错误:ld.lld: error: unable to find library -lc++_shared

问题简述

构建React Native Android项目时触发链接错误,提示无法找到libc++_shared.so库,错误出现在react-native-screens的代码生成模块编译阶段,使用React Native 0.76.0、NDK 26.1.10909125。

解决方案

1. 验证NDK库文件完整性

首先检查NDK对应架构目录下是否存在libc++_shared.so:

C:\Users\ishan\AppData\Local\Android\Sdk\ndk\26.1.10909125\toolchains\llvm\prebuilt\windows-x86_64\sysroot\usr\lib\x86_64-linux-android\24\libc++_shared.so

如果文件缺失,打开Android SDK Manager,卸载当前NDK后重新下载安装。

2. 显式指定C++运行时库

在android/app/build.gradle中添加externalNativeBuild配置,强制使用c++_shared:

android {
    // ... 已有配置
    externalNativeBuild {
        cmake {
            arguments "-DANDROID_STL=c++_shared"
        }
    }
}

也可以在项目根目录的gradle.properties中全局配置:

android.externalNativeBuild.cmake.arguments=-DANDROID_STL=c++_shared

3. 针对react-native-screens单独配置

如果自动链接导致配置不生效,在android/build.gradle中添加子项目配置:

subprojects {
    afterEvaluate { project ->
        if (project.name.contains('react-native-screens')) {
            project.android {
                externalNativeBuild {
                    cmake {
                        arguments "-DANDROID_STL=c++_shared"
                    }
                }
            }
        }
    }
}

4. 彻底清理并重新构建

执行以下命令清除缓存和构建产物:

# 清理Gradle构建缓存
cd android && ./gradlew clean
# 清理RN缓存
cd .. && npx react-native clean
# 重新安装依赖
rm -rf node_modules package-lock.json
npm install
# 重新构建项目
npx react-native run-android

5. 降级NDK版本

NDK 26部分版本存在兼容性问题,尝试降级到RN 0.76推荐的NDK版本25.2.9519653,修改android/build.gradle中的配置:

ndkVersion = "25.2.9519653"

错误原因说明

该错误源于C++运行时库libc++_shared.so未被正确纳入链接路径,通常由以下原因导致:

  • NDK安装不完整,缺失对应架构的库文件
  • 第三方库(如react-native-screens)的编译配置与NDK默认STL设置不匹配
  • NDK 26+的默认STL策略变更引发兼容性问题

内容的提问来源于stack exchange,提问作者Ishant Chandna

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.15 18:24:51