假设我有两个静态库:libA
和libB
,libB
使用libA
。
对于每个库libX
假设hX
是libX
的头目录,dX
是libX
的文件目录。
现在,当libB
的用户想要使用libB
编译源代码C.c
时会发生什么?他必须知道libB使用libA,所以他必须键入:
gcc -IhB -IhA C.c -lA -LdA -lB -LdB
或者有没有办法让libB
自动"说"给 gcc 使用libA
以便用户可以键入:
gcc -IhB -IhA C.c -LdA -lB -LdB
?
是的,所有必需的静态库都必须在命令行上列出。这些只是提供.o
文件的特殊存档文件。 就像您不能省略所需的.o
文件一样,您也不能省略所需的存档。