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

Linux系统下CMake使用什么工具操作与修改二进制文件的RPATH?

Linux环境下CMake处理RPATH的核心工具

CMake处理二进制文件RPATH的逻辑分为两个阶段,对应使用的工具如下:

  • 构建阶段:CMake在调用编译器链接生成二进制文件时,会直接向gcc/g++等编译器传递-Wl,-rpath链接参数,直接将临时RPATH写入二进制,无需额外工具。
  • 安装阶段:执行make install等安装操作时,CMake会优先使用*chrpath工具修改二进制的RPATH,将构建时的临时路径替换为安装后的正式路径;若系统未安装chrpath,则会自动切换使用patchelf*完成修改操作。

对应依赖包安装方法

如果你当前缺少对应依赖,可根据自己的发行版执行对应安装命令:

  • Debian/Ubuntu 系列:
    # 优先安装chrpath,CMake默认优先调用该工具
    sudo apt install chrpath
    # 可选安装patchelf作为备选
    sudo apt install patchelf
    
  • RHEL/CentOS/Fedora 系列:
    sudo dnf install chrpath
    sudo dnf install patchelf
    
  • Arch Linux 系列:
    sudo pacman -S chrpath patchelf
    

若两个工具都未安装,CMake执行安装步骤时会跳过RPATH修改逻辑,可能导致安装后的程序无法找到对应动态库,启动时报动态链接错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 07:06:07