0

环境: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  

链接:警告 LNK4014:找不到成员对象_imp _WSAStartup @8

LIB ws2_32.lib /extract:WSAStartup  

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

4

1 回答 1

0

如果您从特定对象中使用非常少的函数,则可以使用以下命令提取对象文件

LIB library /EXTRACT:member /OUT:objectfile

在这里查看详细信息。

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

LIB library /LIST
于 2012-07-19T06:47:08.610 回答