我有一个库说libX.a我正在创建另一个库myLib2.a我想静态链接libX.a和myLib2.a 问题是,当我使用myLib2.a它投诉要求libX.a,但我希望libX.a成为myLib2.a的一部分,以便我可以直接使用myLib2.a
我已经尝试生成myLib2.a并且成功地这样做但是当我尝试使用它时我得到错误。 能否请您建议这是可能的吗?如果可能的话,我们如何使用makefile实现这一目标。
谢谢和问候,
罗希特夏尔
答案 0 :(得分:1)
我想链接这两个库来制作一个库。
您不希望链接这两个库;你想结合他们。食谱是here。
答案 1 :(得分:0)
从libX.a
提取对象文件(使用ar -x
),然后将其添加到myLib2.a
(使用ar -r
)。
在makefile中:
CONTENTS := $(filter %.o,$(shell ar -t libX.a))
libMy2.a: libX.a
ar -x libX.a
ar -r $@ $(CONTENTS)
rm $(CONTENTS)