例如不能找到下面的库
/usr/bin/ld: cannot find -lzlib
以详细模式运行ld
ld -lzlib --verbose
输出如下
==================================================
attempt to open /usr/x86_64-linux-gnu/lib64/libzlib.so failed
attempt to open /usr/x86_64-linux-gnu/lib64/libzlib.a failed
attempt to open /usr/local/lib64/libzlib.so failed
attempt to open /usr/local/lib64/libzlib.a failed
attempt to open /lib64/libzlib.so failed
attempt to open /lib64/libzlib.a failed
attempt to open /usr/lib64/libzlib.so failed
attempt to open /usr/lib64/libzlib.a failed
attempt to open /usr/x86_64-linux-gnu/lib/libzlib.so failed
attempt to open /usr/x86_64-linux-gnu/lib/libzlib.a failed
attempt to open /usr/local/lib/libzlib.so failed
attempt to open /usr/local/lib/libzlib.a failed
attempt to open /lib/libzlib.so failed
attempt to open /lib/libzlib.a failed
attempt to open /usr/lib/libzlib.so failed
attempt to open /usr/lib/libzlib.a failed
/usr/bin/ld.bfd.real: cannot find -lzlib
因此,最后修复它,以便可以使用自己的ZLIB版本(而不是捆绑版本)来编译程序
sudo ln -s /usr/lib/libz.so.1.2.8 /usr/lib/libzlib.so
参考文献
[1] https://stackoverflow.com/questions/16710047/usr-bin-ld-cannot-find-lnameofthelibrary