linux下SO文件编译指定其他依赖库的路径

rpath 全称是run-time search path,规定了Linux下可执行文件在寻找.so文件时的第一优先位置。比如我们想要指定可执行文件运行优先在当前目录下寻找.so 文件,则使用gcc/g++编译时加上以下选项:

复制代码
-Wl,--disable-new-dtags,-rpath,'$$ORIGIN'

$ORIGIN表示so文件当前的存放目录,其他依赖库和要编译的so库放在同一级目录。

其中-Wl参数用来将GCC的命令行参数传递给ld命令。

--disable-new-dtags表示使用的是rpath,去掉后编译器默认使用runpath。

相关推荐
minji...5 分钟前
Linux 进程间通信(一)进程间通信与匿名管道
linux·运维·服务器·数据结构·数据库·c++
feng_you_ying_li6 分钟前
linux的指令终章与权限之用户权限(3)
linux·运维·服务器
s65166549613 分钟前
Linux内核学习-汇编笔记
linux
IMPYLH14 分钟前
Linux 的 csplit 命令
linux·运维·服务器·数据库
cccyi719 分钟前
支持 HTTP 协议的主从 Reactor 高性能服务器组件
服务器·http·reactor
钰衡大师20 分钟前
Nohup 使用技术文档
linux·服务器·运维开发·unix
Sakuyu4346822 分钟前
zabbix源码安装
linux·运维·zabbix
赖亦无34 分钟前
【水动力学】06 Linux + Conda 环境下源码编译安装 pypims (CUDA加速) 避坑指南
linux·运维·conda·pypims·水动力学
穷人小水滴41 分钟前
使用 WebRTC 实现局域网投屏: PC (GNOME ArchLinux) -> 平板 (Android)
android·linux·webrtc·浏览器·js·gnome·投屏
恋红尘43 分钟前
K8S 控制器-资源调度-叩丁狼
linux·docker·kubernetes