关于库的间接调用
小弟最近在工作中碰到点问题,请大家给指教一下。
有2个已经存在的static lib, lib1.a 和 lib2.a 并且lib1.a在build时要包含lib2.a
我有一个app要用到这两个库中的API,我在我的Makefile中只包含了lib1.a,编译会报错,报告找不到一些symbol,我看了下,都是lib2.a中的。在Makefile中把lib2.a也加进去的话,就没有问题了。。
我的问题是:lib1.a和lib2.a都是静态库,并且lib2.a已经被包含在lib1.a中了,所以我认为lib2.a中所有的Symbol都应该build进lib1.a了。我这样理解有错吗?
所以在使用的时候只需要包含lib1.a就可以了啊,不需要两个都包含啊。
如果有错误请大家指教,谢谢。
[解决办法]
不对,它们也只是调用关系,你不把他们包进去a怎么会知道b里面的函数呢
都要包的
[解决办法]
lib1.a和lib2.a都是静态库,并且lib2.a已经被包含在lib1.a中了,所以我认为lib2.a中所有的Symbol都应该build进lib1.a了
个人觉得lib2中是有lib1的声明,但是没有实现,
所以你需要把lib2也加进来