将共享对象与静态库链接

link shared object with static library

本文关键字:链接 静态 共享 对象      更新时间:2023-10-16

我的问题是:

我想编译一个共享对象(称为Dll.so),该对象链接一个静态库,例如(libstatic.a).

我的目标是只有Dll.so共享对象。

LIBS:= -lm -ldl
LIBS+= -Wl,--whole-archive -Wl,-Bstatic -llibstatic -Wl,--no-whole-archive -lc

我有ggc_s错误:找不到-lgcc_s

有人能帮我吗?

谢谢

-Bstatic将以下所有库链接为static。您看到的错误可能与稍后在cmd行中出现的内容有关。相反,使用静态库的路径,如下所示:

LIBS+= -Wl,--whole-archive my_lib_path/libstatic.a -Wl,--no-whole-archive