Ubuntu编译TrustWalletCore遇clang/clang++路径及链接错误求助
解决Ubuntu下编译TrustWalletCore时的clang编译器及-lstdc++库问题
一、确认clang工具链安装与环境配置
- 先检查系统是否已安装clang/clang++,执行以下命令验证:
如果无输出,通过apt安装:clang --version clang++ --versionsudo apt update && sudo apt install clang clang++ - 若已安装但CMake仍识别失败,在执行
./bootstrap.sh前手动指定编译器环境变量:export CC=/usr/bin/clang export CXX=/usr/bin/clang++
二、修复-lstdc++库缺失问题
- 安装libstdc++开发包:
sudo apt install libstdc++-dev - 若仍报错,强制指定CMake使用libstdc++:
方法1:修改项目根目录的CMakeLists.txt,添加以下配置:
方法2:执行bootstrap.sh时直接传递CMake参数:set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -stdlib=libstdc++") set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -stdlib=libstdc++")./bootstrap.sh -DCMAKE_CXX_FLAGS="-stdlib=libstdc++" -DCMAKE_EXE_LINKER_FLAGS="-stdlib=libstdc++"
三、检查Android Studio NDK配置
- 打开Android Studio,进入
File > Project Structure > SDK Location,确认NDK路径正确,且版本符合TrustWalletCore官方要求。 - 手动指定NDK环境变量后再执行构建:
export ANDROID_NDK=/path/to/your/ndk # 替换为你的实际NDK路径 ./bootstrap.sh
四、清理缓存后重新构建
- 删除旧构建目录,避免缓存干扰:
rm -rf build/ ./bootstrap.sh
内容的提问来源于stack exchange,提问作者Vishal Patil
相关产品推荐
相关产品推荐

