例如,a.obj b.obj c.obj刚刚用 编译出三个目标文件cl,希望将它们合并为一个combined.obj。
SO 问题的评论指出,在 *nix 上可以使用ld. 然而,cl所有link似乎都只支持.exe,.dll和.lib作为输出。
我想要对组合目标文件执行的整个过程如下:
a.obj b.obj c.obj -> combined.objcombined.obj d.obj e.obj -> executable.exe我的问题解决了。 a.obj b.obj c.obj使用一些尚未链接的变量和函数,我认为.lib因为它是一个库,所以不能容忍缺少函数,但实际上这是可以的。我可以将它们合并到一个.lib文件中:
lib *.obj /OUT:combined.lib
Run Code Online (Sandbox Code Playgroud)