2013-07-31 20 views
2

对不起的措词很抱歉。如何创建一个链接到另一个库的静态库,并且可以由链接这两个库的第三个程序使用?

基本上我想创建一个需要链接另一个静态库(libtwo.a)的静态库(libone.a)。 libone.alibtwo.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有效的。

这可能吗?

回答

1

这可能吗?

不,这根本无法与归档库来完成(它可以与共享库完成,但需要非常谨慎,以避免碰撞符号)。

相关问题