使用cl编译器选项在不同目录中的已编译对象

时间:2018-08-21 13:05:55

标签: powershell compiler-options cl

在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文件不同的目录中。

您知道如何告诉编译器将目标文件放在指定目录中吗?

1 个答案:

答案 0 :(得分:0)

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