gpt4 book ai didi

c - 链接未找到的系统库,因为没有 libuuid.so 只有 libuuid.so.1

转载 作者:太空宇宙 更新时间:2023-11-03 23:29:18 25 4
gpt4 key购买 nike

gcc (GCC) 4.8.1
Fedora 19 Linux localhost.localdomain 3.11.4-201.fc19.x86_64 #1 SMP Thu Oct 10 14:11:18 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux
cmake version 2.8.11

我正在使用 cmake 创建一个共享库,它动态链接到一些系统库 uuid、asound、crypto 和 ssl。

我已将编译器和链接器标志设置为使用 32 位模式进行编译:

set_target_properties(app_module_sip PROPERTIES COMPILE_FLAGS "-m32" LINK_FLAGS "-m32")

当我编译时,我得到了这些库的以下链接错误(只包括 uuid 而不是其他的以保持简短)。

/usr/bin/ld: cannot find -luuid

所以我对这些库进行了定位以查看它们是否存在

/usr/lib/libuuid.so.1
/usr/lib/libuuid.so.1.3.0
/usr/lib64/libuuid.so.1
/usr/lib64/libuuid.so.1.3.0

因为 libuuid.so 不在那里,我猜这就是它要找的东西。我决定创建一个软链接(soft link):

ln -s libuuid.so.1 libuuid.so

现在我得到以下信息:

lrwxrwxrwx. 1 root root    12 Oct 23 14:00 libuuid.so -> libuuid.so.1
lrwxrwxrwx. 1 root root 16 Sep 18 22:04 libuuid.so.1 -> libuuid.so.1.3.0
-rwxr-xr-x. 1 root root 20772 Sep 10 16:34 libuuid.so.1.3.0

现在,当我进行定位时,我得到了这个:

/usr/lib/libuuid.so
/usr/lib/libuuid.so.1
/usr/lib/libuuid.so.1.3.0

在为每个库创建软链接(soft link)后,一切都可以编译和链接。

问题:

1) 我不是 Linux 专家,但是为系统库创建软链接(soft link)是否安全?它会对其他地方产生影响吗?

2) 为什么不同版本号的库也必须有软链接(soft link)? libuuid.so.1.3.0、libuuid.so.1 等

最佳答案

安装 libuuid-devel 会解决这个问题。

$ yum install libuuid-devel

关于c - 链接未找到的系统库,因为没有 libuuid.so 只有 libuuid.so.1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19535425/

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