我有一个链接一些静态库的二进制文件列表.已经确定一堆这些库是循环依赖的.我们从未遇到过麻烦,因为我们将这些静态库包含在-Wl,– start-group和-Wl之间,– end-group
我明白这是一个不好的做法,我正在努力清理系统.
我想出了一个perl脚本,告诉我这些库是如何相互依赖的,如下所示:
libchld.a depends on libprnt.a,libgprnt.a
libprnt.a depends on libncle.a,libgprnt.a
并去了一个.
现在,我应该在拓扑上对每个节点进行排序,向上或向下.
然后,如果我在拓扑排序时找到一组循环依赖库,我将只需要通过清理系统将那些包含在–start-group和–end-group(而不是包围整个库)中的那些库中. .
是否有一些perl模块已经进行了这种类型的排序?
Sort::Topological
Graph::Directed
是那些我想检查的人.但是,如果图形是圆形的,它们似乎不会处理.