使用VS2008 SP1将多个静态.lib文件链接到一个单片.lib文件中,而不首先提取.lib文件

时间:2010-12-14 05:59:27

标签: visual-studio-2008-sp1

我在other question期间遇到的一个基本问题是:如果不首先使用LIB.EXE命令提取.lib文件,如何将所有.obj存档成员组合在一起形成一个更大的单片。 lib文件?如果我使用LIB.EXELINK.EXE实用程序,则会省略一些.obj文件,大概是因为在省略的.obj文件中没有定义任何其他.obj文件所需的符号。

如果没有下载并安装其他非Microsoft软件,并且首先没有先提取所有.obj文件,我该如何将它们组合在一起?

1 个答案:

答案 0 :(得分:1)

你不能。

将静态链接.lib文件想象成只包含一些目标文件的zipfile或tarfile。

所以你必须找出使用lib / list的内容,然后使用lib / extract逐个提取每个对象(这是一个单调乏味的部分),一旦你准备好一切,你就构建了你的新.lib。

如果您使用脚本语言(Perl,Python,...)很方便,那么自动化这项工作就不会太难了。您可以使用批处理命令(如果您愿意,可以查找“for / F”;您将需要它)。