在gcc中将共享库添加到静态库

Adding shared libraries to static library in gcc

我正在使用 gcc 创建静态库: ar rcs libMylib.a objA.o objB.o objC.o

  1. 如何将共享库添加到静态库中,也就是说创建静态库时的-lcuda -lopencv_core选项相当于什么?

  2. 创建静态库时,gcc 选项 -Wl,--no-undefined 的等效项是什么?

静态库是目标文件的归档(集合)。因此,外部符号仍未解决。与创建单个目标文件时相同。

只有当您创建可执行文件或动态共享库时,您才会因未解析的符号而失败(或收到警告)。