首页 > 解决方案 > 在 Windows MSVC 上,是否可以将一些 .obj 合并为一个 .obj?如果是,我该怎么做?

问题描述

例如,a.obj b.obj c.obj刚刚用 编译出来的目标文件有 3 个cl,希望将它们合并为一个combined.obj

SO question 的评论指出,在 *nix 上可以使用ld. 但是,cl一切link似乎都只支持.exe,.dll.lib作为输出。


我想对组合目标文件执行的整个过程如下:

  1. a.obj b.obj c.obj -> combined.obj
  2. combined.obj d.obj e.obj -> executable.exe

我的问题解决了。 a.obj b.obj c.obj使用一些尚未链接的变量和函数,我认为.lib不能容忍缺少函数,因为它是一个库,但实际上它是可以的。我可以将它们合并到一个.lib文件中:

lib *.obj /OUT:combined.lib

标签: cwindowsvisual-c++linker

解决方案


似乎不是,但将它们合并成一个很方便.lib

lib *.obj /OUT:combined.lib

推荐阅读