对不起的措词很抱歉。如何创建一个链接到另一个库的静态库,并且可以由链接这两个库的第三个程序使用?
基本上我想创建一个需要链接另一个静态库(libtwo.a
)的静态库(libone.a
)。 libone.a
和libtwo.a
都连接在静态到另一个程序(我们称之为program
)通过执行以下操作:
$(CC) -o program something.o anotherthing.o -L/path/to/lib -lone -ltwo
每当program
使得在libtwo.a
方法的调用它应该去libtwo.a
被载入与program
。但是,每当program
调用中调用libtwo.a
中方法的方法时,它应该调用创建libone.a
时嵌入的libtwo.a
。是的,我明白这会通过加载两个相同的库来炸毁文件大小,但我确定。
之所以我试图这是因为我有program
正在使用OpenSSL(在这种情况下libcrypto.a
)和我的静态库也使用libcrypto
。不过,我的图书馆要求OpenSSL是FIPS有效的(即FIPS_mode_set(1)
),但这样做会打破program
。总之我想使用OpenSSL的库。原本由program
调用的应该使用它自己的,我的库调用的应该使用我链接的并且是FIPS有效的。
这可能吗?