MSBuild CL 任务输出目录

MSBuild CL Task output directory

本文关键字:输出 任务 CL MSBuild      更新时间:2023-10-16

我正在编写一个MSBuild脚本,该脚本使用MSBuild CL Task编译C++文件,如下所示:

<CL Sources="c:tempmyfile.cpp" />

如何控制输出 (myfile.obj) 的去向?默认情况下,它会转到脚本所在的路径(也恰好是我运行脚本的路径):即,如果我从"c:\someFolder\"运行脚本(c:\someFolder\build.proj),那么myfile.obj被放置在"c:\someFolder\myfile.obj"中。

通过一个疯狂(不合逻辑)的猜测,我也尝试了对OutDir属性(?!)坐立不安,例如:

<PropertyGroup>
  <OutDir>d:somePlace<OutDir>
</PropertyGroup>
...
<CL Sources="c:tempmyfile.cpp" />

没用。

关于如何控制 CL 任务输出的原始问题的答案是使用 ObjectFileName 参数(由 Hans Passant 提供)。

然而,现在看来,使用最低标准的vcxproj是一个更好的主意(正如stijn和Hans Passant所建议的那样)。