如题,比如有两个库:a.a和b.a。如果这两个库之间存在相互依赖的关系,在使用LDADD
变量时,应该把哪个库放在前面?这样的相互依赖能够编译通过吗?会有什么后果吗?
如果你确定是“间接依赖”而不是“直接依赖”,那就不用写到Makefile中,如果是直接依赖,那就必须写到Makefile中
相互依赖的话,需要把其中一方的依赖关系翻转(或者叫依赖倒置)。反转的办法有很多,比如说用回调函数、接口+动态加载,等等。
这个应该要考虑具体的程序执行,考虑一种情况,比如a依赖b,b依赖a,而在程序代码执行的时候,b先执
行,并且执行了a的代码,然后a中再执行b的代码,那么这个时候顺序应该是b再a。
对于多个静态库.a, 如果这么多的静态库之间相互依赖,那么添加时,该以怎样的顺序添加呢?