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。

相关推荐
oioihoii1 分钟前
C++20协程如何撕开异步编程的牢笼
linux·服务器·c++20
叫致寒吧2 分钟前
自动化运维工具 Ansible
运维·自动化·ansible
冉佳驹7 分钟前
Linux ——— Git的核心操作流程、进程状态及环境变量相关知识
linux·git·进程·环境变量·进程状态·fork
黑不溜秋的8 分钟前
Ubuntu 20.04 安装 搜狗输入法
linux·运维·服务器
norsd8 分钟前
CentOS 设置 DNS
linux·运维·centos
SPFFC1893803305311 分钟前
抗干扰磁环排线 | Magnetic Ring Flat Cable - 高磁导率EMI抑制解决方案
服务器·数码相机·车载系统·机器人·音频·智能音箱·智能电视
XXYBMOOO17 分钟前
使用 HTML5 Canvas 实现可交互的数据瀑布流(隐藏式运维模式)
运维·交互·html5
KaDa_Duck19 分钟前
DASCTF 2025下半年赛 PWN-CV_Manager复盘笔记
linux·笔记·安全
Blossom.11821 分钟前
Transformer时序预测实战:用PyTorch构建股价预测模型
运维·人工智能·pytorch·python·深度学习·自动化·transformer
我命由我1234522 分钟前
Python Flask 开发问题:ImportError: cannot import name ‘escape‘ from ‘flask‘
服务器·开发语言·后端·python·flask·学习方法·python3.11