我正在制作一堆要在程序中使用的库,并且我的某些库依赖于其他库,因此我使用gcc的-l选项来编译它们以链接依赖项,它可以正常工作,但是有一种情况我有问题的地方:
这样做之后,我尝试使用gcc -llib2编译我的程序(假设我理解静态库的工作原理,假设lib2.a包含lib1函数),但是它不起作用,因为lib2中的函数需要lib1中的函数编译器找不到。我想我实际上需要执行gcc -llib1 -llib2,但是似乎没用,因为lib2已经应该包含lib1函数。
有什么方法可以在不指定gcc命令行中每个库的情况下编译程序? (假设我将拥有2个以上的库和多层依赖项)
我找到了这个答案https://stackoverflow.com/a/41323069/12136455,似乎可以看出我的问题,但我不太明白他的意思。