我正在尝试编译这个库https://github.com/bjz/gl-rs。
运行 make 时出现错误:
error: linking with `cc` failed: exit code: 1
(a long list of linker args follows)
note: /usr/bin/ld: cannot find -lxml2
如果我没看错的话,链接器找不到 lib xml2。我确保安装了 xml2 和 libxml2(通过 sudo apt-get install),但这还不够。
该怎么办?
答案1
在 Ubuntu 打包系统中,libXXX
软件包中通常只包含运行动态链接库的应用程序所必需的运行时库。
为了获得编译和构建所需的库和头文件,通常有一个单独的libXXX-dev
包(-dev
表示该包是用于发展)。您可以使用搜索引擎检查特定库有哪些可用的开发包,apt-cache
例如
apt-cache search devel | grep libxml2
就你的情况来说,你可能丢失了包裹libxml2-dev
。
答案2
我发现这对找到包很有帮助:
sudo yum provides /usr/lib64/libxml2.a
然后安装它:
sudo yum install libxml2-static
(我知道您正在使用 apt,但我在寻找使用 yum 的解决方案时偶然发现了这篇文章)