如何指定链接时使用的库版本?
- 2024-10-28 08:37:00
- admin 原创
- 50
问题描述:
接下来的问题:应用程序在运行时如何解析不同版本的共享库?,我想知道如何在链接命令行上指定使用哪个版本的库?
假设我有
libmy.so.1.0
libmy.so.1 -> libmy.so.1.0
libmy.so.2.0
libmy.so.2 -> libmy.so.2.0
libmy.so -> libmy.so.2
指定要与可执行文件链接的库的常用方法不会显示要使用的版本。此外,很可能有人想与最新版本链接。因此,在大多数情况下,常用的行都可以正常工作。
gcc app.o -lmy -o app
app
应该使用库的第 1 版的链接命令行是什么?
解决方案 1:
链接器也能接受文件名
gcc app.o -l:libmy.so.1 -o app
从man ld
:
-l namespec
--library=namespec
将 namespec 指定的存档或目标文件添加到要链接的文件列表中。此选项可以使用任意次数。 如果 namespec 的形式为 :filename,ld 将在库路径中搜索名为 filename 的文件,否则它将在库路径中搜索名为 libnamespec.a 的文件。
我注意到旧版本不支持它,因此请检查man ld
-l
或--library
选择您的系统。
您还可以链接到文件并提及其全名
gcc app.o /mylibpath/libmy.so.1 -o app
相关推荐
热门文章
项目管理软件有哪些?
- 2024年20款好用的项目管理软件推荐,项目管理提效的20个工具和技巧
- 2024年开源项目管理软件有哪些?推荐5款好用的项目管理工具
- 项目管理软件有哪些?推荐7款超好用的项目管理工具
- 项目管理软件哪个最好用?盘点推荐5款好用的项目管理工具
- 项目管理软件有哪些最好用?推荐6款好用的项目管理工具
- 项目管理软件有哪些,盘点推荐国内外超好用的7款项目管理工具
- 2024项目管理软件排行榜(10类常用的项目管理工具全推荐)
- 项目管理软件排行榜:2024年项目经理必备5款开源项目管理软件汇总
- 2024年常用的项目管理软件有哪些?推荐这10款国内外好用的项目管理工具
- 项目管理必备:盘点2024年13款好用的项目管理软件
热门标签
云禅道AD