【问题标题】:Compiled object in different directory using cl compiler options使用 cl 编译器选项在不同目录中编译对象
【发布时间】:2018-08-21 13:05:55
【问题描述】:

在 Windows 环境中工作我遇到了以下问题:我想告诉 cl 编译器编译(不链接)一些源文件,将其放在指定目录中,如下所示:

cl /c /FeOBJDIR\ source.cpp

不幸的是,使用 /c 时会忽略 /Fe 选项(正如我在 https://docs.microsoft.com/en-us/cpp/build/reference/fe-name-exe-file 中发现的那样)。

那我只能写了:

cl /FeOBJDIR\ source.cpp

这实际上将 source.exe 放入 OBJDIR,将 source.obj 放入 .\

但我需要将 .obj 文件放在与 .cpp 文件不同的目录中。

你知道如何告诉编译器把目标文件放到指定目录吗?

【问题讨论】:

    标签: powershell compiler-options cl


    【解决方案1】:

    我发现完成这项工作的正确编译器选项是 /Fo (https://docs.microsoft.com/en-us/cpp/build/reference/fo-object-file-name)。 /Fo 指定要使用的对象 (.obj) 文件名或目录,而不是默认值。 它还可以与 /c 选项一起使用,因此您可以让编译器知道您只需要编译(而不是链接)以及将 .obj 文件放在哪个目录中。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-09
      • 1970-01-01
      • 1970-01-01
      • 2021-03-04
      相关资源
      最近更新 更多