Linker 静态链接库

Linker 静态链接库,linker,makefile,static-linking,dynamic-linking,Linker,Makefile,Static Linking,Dynamic Linking,我有一个库,比如libX.a,我正在创建另一个库myLib2.a,我想静态链接libX.a和myLib2.a 问题是当我使用myLib2.a时,it部门抱怨说需要libX.a,但我希望libX.a成为myLib2.a的一部分,这样我就可以直接使用myLib2.a了 我已经尝试生成myLib2.a,并且成功地完成了,但是当我尝试使用它时,我得到了一个错误。 你能建议这是可能的吗?如果可能的话,我们如何使用makefile实现这一点 感谢和问候 罗希特 我想把这两个库链接成一个库 您不想链接这两个库

我有一个库,比如libX.a,我正在创建另一个库myLib2.a,我想静态链接libX.a和myLib2.a 问题是当我使用myLib2.a时,it部门抱怨说需要libX.a,但我希望libX.a成为myLib2.a的一部分,这样我就可以直接使用myLib2.a了

我已经尝试生成myLib2.a,并且成功地完成了,但是当我尝试使用它时,我得到了一个错误。 你能建议这是可能的吗?如果可能的话,我们如何使用makefile实现这一点

感谢和问候

罗希特


我想把这两个库链接成一个库


您不想链接这两个库;你想把它们结合起来。配方是。

libX.A
(使用
ar-x
)提取目标文件,然后将它们添加到
myLib2.A
(使用
ar-r

在生成文件中:

CONTENTS := $(filter %.o,$(shell ar -t libX.a))

libMy2.a: libX.a
    ar -x libX.a
    ar -r $@ $(CONTENTS)
    rm $(CONTENTS)

您的意思是要将这两个库合并成一个库吗?或者您想链接这两个库(可能还有其他对象)以形成一个可执行文件?
myLib2.a
是否使用
libX.a
的元素?我想将两个库链接成一个库。