我在other question期间遇到的一个基本问题是:如果不首先使用LIB.EXE
命令提取.lib文件,如何将所有.obj存档成员组合在一起形成一个更大的单片。 lib文件?如果我使用LIB.EXE
或LINK.EXE
实用程序,则会省略一些.obj文件,大概是因为在省略的.obj文件中没有定义任何其他.obj文件所需的符号。
如果没有下载并安装其他非Microsoft软件,并且首先没有先提取所有.obj文件,我该如何将它们组合在一起?
答案 0 :(得分:1)
你不能。
将静态链接.lib文件想象成只包含一些目标文件的zipfile或tarfile。
所以你必须找出使用lib / list的内容,然后使用lib / extract逐个提取每个对象(这是一个单调乏味的部分),一旦你准备好一切,你就构建了你的新.lib。
如果您使用脚本语言(Perl,Python,...)很方便,那么自动化这项工作就不会太难了。您可以使用批处理命令(如果您愿意,可以查找“for / F”;您将需要它)。