gpt4 book ai didi

c++ - Boost、bjam 和符号链接(symbolic link)

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:02:23 25 4
gpt4 key购买 nike

我用 bjam 生成了一些 Boost 库,我得到了很多符号链接(symbolic link)。

对于日期时间:

libboost_date_time-gcc41-mt-1_39.a

libboost_date_time-gcc41-mt-1_39.so -> libboost_date_time-gcc41-mt-1_39.so.1.39.0

libboost_date_time-gcc41-mt-1_39.so.1.39.0

libboost_date_time-gcc41-mt.a -> libboost_date_time-gcc41-mt-1_39.a

libboost_date_time-gcc41-mt.so -> libboost_date_time-gcc41-mt-1_39.so.1.39.0

为什么我不直接获取 .a 和 .so ?为什么这 3 个符号链接(symbolic link)?为什么原始文件的 .so 名称如此复杂,并两次提到发布版本?

难道不能只拥有:

libboost_date_time-gcc41-mt-1_39.alibboost_date_time-gcc41-mt-1_39.so

感谢您的帮助。我不知道如何处理这些符号链接(symbolic link)。

注意:我是 Linux 新手。

最佳答案

符号链接(symbolic link)是一种在两个名称之间共享同一文件的方式。例如,如果 A 链接到 B,则打开 A 或 B 会将相同的数据提供给调用程序。

在这种情况下,您有 2 个文件 libboost_date_time-gcc41-mt-1_39.so.1.39.0 和 libboost_date_time-gcc41-mt-1_39.a。 .so 文件是共享库,.a 是静态库。

没有版本号的链接 libboost_date_time-gcc41-mt.so 和 libboost_date_time-gcc41-mt.a 在那里,以便不关心版本号的构建可以使用这些库。

对于共享库,有一个带有版本号的命名约定,因此完整的版本号在末尾,因此构建系统可以精确控制版本号。

参见 Boost docs完整的解释

关于c++ - Boost、bjam 和符号链接(symbolic link),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2153759/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com