静态链接库

问题描述:

我有一个库说libX.a我创建一个库myLib2.ai想要静态链接libX.a与myLib2.a 问题是当我使用myLib2.a它投诉要求libX .a但是我希望libX.a成为myLib2.a的一部分,以便我可以直接使用myLib2.a静态链接库

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

感谢和问候,

罗希特

+0

你的意思是你要这两个库结合起来,形成一个库?或者你想链接两个库(也可能是其他对象)来形成一个可执行文件? 'myLib2.a'使用'libX.a'的元素吗? – Beta

+0

我想链接两个库来创建一个库。 – Rohit

我想这两个库链接,让一个库。

你不想链接这两个库;你想结合他们。配方是here

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 [email protected] $(CONTENTS) 
    rm $(CONTENTS)