VC:如何将大.lib拆分为小.lib文件

时间:2012-07-19 06:33:57

标签: c windows static-libraries visual-c++

环境:VC,Windows 我有一个很大的.lib文件,aaa.lib,由第三方创建。我没有源代码。我需要构建自己的静态库bbb.lib,它使用aaa.lib中的一些函数。由于某些业务问题,我必须将aaa.lib隐藏到我的客户。所以我使用这个命令将aaa.lib'合并'到bbb.lib中。

LIB /OUT:bbb.lib mycode.lib aaa.lib  

它有效,除了bbb.lib太大了。当我进行“合并”时,如何指定aaa.lib的一部分?谢谢。我知道还有另一篇关于.lib拆分的帖子,但它不适用于Windows。

我尝试使用这些命令来提取函数,但不起作用。以ws2_32.lib中的WSAStartup()为例:

LIB ws2_32.lib /extract:__imp__WSAStartup@8  

LINK:警告LNK4014:找不到成员对象_ imp _WSAStartup @ 8

LIB ws2_32.lib /extract:WSAStartup  

LINK:警告LNK4014:找不到成员对象WSAStartup

1 个答案:

答案 0 :(得分:0)

如果您使用来自特定对象的真正FEW函数,则可以使用

提取目标文件
LIB library /EXTRACT:member /OUT:objectfile

查看here了解详情。

有关库中所有对象的列表,您可以使用:

LIB library /LIST