如何从Makefile中识别冗余库?有没有工具来分析库的使用情况?
对于使用make构建的c ++程序,我想找到程序不再使用哪些库但仍然通过make实用程序链接。
答案 0 :(得分:4)
如果你在Linux上,那么你应该使用ldd --unused:
$ ldd --help
Usage: ldd [OPTION]... FILE...
-u, --unused print unused direct dependencies
这是一个例子:
$ ldd -u ./a.out
Unused direct dependencies:
/u01/app/oracle/product/11.2.0/cl11203/lib/libclntsh.so.11.1
/usr/local/CC/gcc-4.8.2/lib64/libstdc++.so.6
/lib64/libm.so.6
/usr/local/CC/gcc-4.8.2/lib64/libgcc_s.so.1