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

WSL环境下编译Google Benchmark项目报错:No rule to make target

解决WSL Ubuntu中Google Benchmark编译时librt.so缺失问题

问题根源

编译报错是因为找不到librt.so库文件,这个库是Linux实时扩展库的链接文件,属于系统基础开发包。错误路径指向conda的sysroot目录,说明你的环境被conda的环境变量干扰,导致CMake错误地去conda的系统根目录查找系统库,而非Ubuntu原生的系统路径。

解决步骤

  • 安装系统缺失的基础开发包
    先确保Ubuntu系统中包含librt对应的开发组件,执行以下命令:

    sudo apt update
    sudo apt install -y libc6-dev
    

    在Ubuntu中,librt.so实际是libc.so的符号链接,安装libc6-dev会自动生成这个链接并放在正确的系统路径/usr/lib/x86_64-linux-gnu/下。

  • 清除conda环境的干扰
    如果当前终端处于conda激活状态,先退出环境:

    conda deactivate
    

    检查是否存在指向conda sysroot的CMake环境变量:

    echo $CMAKE_SYSROOT
    

    若输出conda相关路径,执行命令清空:

    unset CMAKE_SYSROOT
    
  • 重新编译项目
    删除旧的构建目录,重新配置并编译:

    rm -rf build
    mkdir build && cd build
    cmake ..
    make
    
  • (可选)在CMake中强制指定系统库路径
    若不想每次手动处理conda环境,可在项目的CMakeLists.txt中添加以下配置,强制CMake使用Ubuntu原生系统库:

    # 禁用交叉编译模式,优先查找系统原生库
    set(CMAKE_SYSROOT "/")
    set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY NEVER)
    set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE NEVER)
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 02:36:19