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

CMake编译报错:libstdc++版本需≥5.1但已安装最新版

解决CMake+Ninja构建时libstdc++版本检测失败问题

报错日志

-- clang project is enabled
-- clang-tools-extra project is enabled
-- compiler-rt project is enabled
-- cross-project-tests project is disabled
-- libc project is disabled
-- libclc project is disabled
-- libcxx project is enabled
-- libcxxabi project is enabled
-- libunwind project is enabled
-- lld project is enabled
-- lldb project is disabled
-- mlir project is disabled
-- openmp project is disabled
-- parallel-libs project is disabled
-- polly project is disabled
-- pstl project is disabled
-- flang project is disabled
-- Performing Test LLVM_LIBSTDCXX_MIN
-- Performing Test LLVM_LIBSTDCXX_MIN - Failed
CMake Error at cmake/modules/CheckCompilerVersion.cmake: 97 (message):
  libstdc++ version must be at least 5.1.
Call Stack (most recent call first):
  cmake/config-ix.cmake:14 (include)
  CMakeLists.txt:684 (include)


-- Configuring incomplete, errors occured!

环境信息

  • 系统:最新版Pop!-OS
  • 已安装libstdc6(版本12.1.0-2ubuntu1~22.04),尝试过重装libstdc6、更新重装gcc/g++/clang、清理损坏软件包,问题仍存在。

解决建议

  • 指定编译器与libstdc++链接参数:CMake可能未匹配到正确的libstdc库,运行CMake时强制使用GCC工具链并明确指定链接libstdc:
    cmake -G Ninja -DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++ -DCMAKE_CXX_FLAGS="-stdlib=libstdc++" ../path/to/source
    
  • 清理CMake缓存:删除构建目录下的缓存文件与目录,避免旧配置干扰检测:
    rm -rf CMakeCache.txt CMakeFiles
    cmake -G Ninja ../path/to/source
    
  • 验证libstdc++关联路径:确认当前g版本及关联的libstdc库路径,若存在多版本冲突,临时指定正确的库路径:
    # 查看g++版本
    g++ --version
    # 查看关联的libstdc++路径
    ldd $(which g++) | grep libstdc++
    # 临时设置库路径
    export LD_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu:$LD_LIBRARY_PATH
    
  • 禁用LLVM的libcxx选项:如果是LLVM相关项目,禁用libcxx强制使用libstdc++构建:
    cmake -G Ninja -DLLVM_ENABLE_LIBCXX=OFF ../path/to/source
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 09:22:08