Linux上多个动态库和静态库的引用有关问题

Linux下多个动态库和静态库的引用问题
在Linux下,比如静态库 A.a 库依赖于 B.a 那我在写makefile的时候要把B.a加到依赖库里吗? 如果A.a依赖于B.so(动态库)呢?

如果是A.so依赖于B.so呢? 

求赐教,十分感谢!

------解决方案--------------------
不用 链接器会处理
------解决方案--------------------
这个链接器可不会自动处理,需要自己添加到链接选项里
------解决方案--------------------
探讨

这个链接器可不会自动处理,需要自己添加到链接选项里

------解决方案--------------------
都需要,否则link的时候会undefined reference symbol
------解决方案--------------------
探讨

引用:

这个链接器可不会自动处理,需要自己添加到链接选项里


不是吧 你使用GTK的库 而GTK使用Cairo GDK Mango 等库 你只需要添加`pkg-config --libs --cflags gtk+-2.0` 即可 用不着吧 GDK cairo Mango 等一并填上去

------解决方案--------------------
按照lz的理解,需要
------解决方案--------------------
1,静态库是怎么生成的?
答:.o文件打包生成的。
2,.o文件编译需要依赖定义吗?
答:不需要


3,动态库是怎么生成的?
答:.o文件链接生成的。根据2可知必须在链接时指定外部动态库。

4,使用静态库怎么用?
答:直接当作一堆.o参与链接即可,如果某.o依赖外部定义,此时链入即可。

5,使用动态库怎么用?
答:包含头文件编译自己的源码生成.o,链接时引入动态库提供定义。

6,动态库A还依赖动态库B,会影响使用动态库A的程序吗?
答:不会,程序只要链入动态库A即可,动态库A已经链接过,它知道去哪里找自己需要的B。
------解决方案--------------------
静态a文件需要,动态so文件不需要
------解决方案--------------------
探讨

1,静态库是怎么生成的?
答:.o文件打包生成的。
2,.o文件编译需要依赖定义吗?
答:不需要


3,动态库是怎么生成的?
答:.o文件链接生成的。根据2可知必须在链接时指定外部动态库。

4,使用静态库怎么用?
答:直接当作一堆.o参与链接即可,如果某.o依赖外部定义,此时链入即可。

5,使用动态库怎么用?
答:包含头文件编译自己的源码生成.o,链接时引入动态库……