gpt4 book ai didi

gcc - 如何链接到 gcc 中的 libatomic 库

转载 作者:行者123 更新时间:2023-12-04 20:56:54 24 4
gpt4 key购买 nike

我正在使用标题 <atomic>在我的库代码中并尝试将程序链接到 libatomic.so .

每当我尝试链接所有目标文件并创建我的库的 SO 文件时,我都会收到错误消息

can not find /usr/lib64/libatomic.so.1.0.0

我在路径 /usr/lib/gcc/x86_64-redhat-linux/4.8.5 下有这个 so 文件.作为 libatomic.so。名称中未指定版本。

我试图指定路径 /usr/lib/gcc/x86_64-redhat-linux/4.8.5-L gcc 命令上的选项创建共享库,但它仍然在询问库 /usr/lib64/libatomic.so.1.0.0链接到原子代码。

那么我该如何对抗 /usr/lib/gcc/x86_64-redhat-linux/4.8.5/libatomic.so为了创建库?为什么当我没有在 -latomic 中指定任何版本时它要求 libatomic.so.1.0.0 gcc 命令中的命令行选项。

我的gcc版本是4.8.5-4,操作系统是redhat 7.2

最佳答案

查看文件/usr/lib/gcc/x86_64-redhat-linux/4.8.5/libatomic.so 的内容!您可能会看到它不是一个实际的库,而只是一行看起来像这样的文本:

INPUT ( /usr/lib64/libatomic.so.1.0.0 )

因此,当您使用“-latomic”时,会拾取此文件(如您所愿!),然后链接器会继续查找/usr/lib64/libatomic.so.1.0.0 - 它已丢失。要安装它,您可能应该安装“libatomic”包(yum install libatomic)。您还可以使用“yum whatprovides/usr/lib64/libatomic.so.1.0.0”来自动查找应该提供此文件的包。

关于gcc - 如何链接到 gcc 中的 libatomic 库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42887975/

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