关闭

解决编译代码出现/usr/bin/ld: cannot find -luuid错误 .

标签: 终端gcc
4135人阅读 评论(1) 收藏 举报
分类:

今天在编译代码的时候出现 “/usr/bin/ld: cannot find -luuid” 错误,在网上找了些资料发现是 gcc编译时找不到链接的库,解决办法如下:

 1. 在终端下运行命令: locate libuuid

        说明:出现的错误是luuid,为什么在locate后面是 libuuid,这是由于链接库的命名造成的。假如出现了 “/usr/bin/ld: cannot find -lltdl”,则在终端输入:locate libltdl,即把 -l 去掉。

        我的系统中运行 locate libuuid 命令后 ,出现的内容如下:

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

        /usr/i586-mingw32msvc/lib/libuuid.a
        /usr/lib/wine/libuuid.a
        /usr/share/doc/libuuid-perl
        /usr/share/doc/libuuid1
        /usr/share/doc/libuuid-perl/changelog.Debian.gz
        /usr/share/doc/libuuid-perl/changelog.gz
        /usr/share/doc/libuuid-perl/copyright
        /usr/share/doc/libuuid1/changelog.Debian.gz
        /usr/share/doc/libuuid1/changelog.gz
        /usr/share/doc/libuuid1/copyright
        /var/lib/libuuid
        /var/lib/dpkg/info/libuuid-perl.list
        /var/lib/dpkg/info/libuuid-perl.md5sums
        /var/lib/dpkg/info/libuuid1.list
        /var/lib/dpkg/info/libuuid1.md5sums
        /var/lib/dpkg/info/libuuid1.postinst
        /var/lib/dpkg/info/libuuid1.postrm
        /var/lib/dpkg/info/libuuid1.shlibs
        /var/lib/dpkg/info/libuuid1.symbols 


   申明: 若是没有装uuid的库是不会出现上面红色部分的,若是没装uuid库,打开新立得安装uuid有关的库,即可解决!

  2.创建相应的链接文件。

        注意到其中的/lib/libuuid.so.1, /lib/libuuid.so.1.3.0,我选择/lib/libuuid.so.1  并为其创建链接文件,终端命令如下:

         sudo ln -sf /lib/libuuid.so.1 /usr/lib/libuuid.so

  3.命令成功后,会在 /usr/lib  目录下生成 libuuid.so



再次编译代码,成功!


上述方法应该可以解决所有   /usr/bin/ld: cannot find -lxxx  错误,自己未验证,因为以前没遇到类似的错误!

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:9489次
    • 积分:39
    • 等级:
    • 排名:千里之外
    • 原创:4篇
    • 转载:3篇
    • 译文:0篇
    • 评论:1条