msbuild clcompile 规范? (开关映射到 XML 属性)

msbuild clcompile specification? (Mapping of switches to XML properties)

是否有将命令行开关映射到 Visual C++ 项目的 MSbuild 属性的文档?我得到的最接近的是在 MSBuild 附带的 Microsoft.CL.common props 文件中找到的。然而,它并不完全符合我的要求。

我正在尝试对遗留构建系统进行逆向工程!

这是 MSBuild xml 属性的示例,我需要知道命令行开关将映射到什么:

<ClCompile>
<AssemblerOutput>NoListing</AssemblerOutput>
<AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
<UndefineAllPreprocessorDefinition></UndefineAllPreprocessorDefinition>
<BrowseInformation>false</BrowseInformation>
<BrowseInformationFile>$(IntDir)</BrowseInformationFile>
<BasicRuntimeChecks>Default</BasicRuntimeChecks>
<CompileAs>Default</CompileAs>
<DisableLanguageExtensions>false</DisableLanguageExtensions>
<ErrorReporting>Prompt</ErrorReporting>
<ErrorReporting>Queue</ErrorReporting>
<ExpandAttributedSource>false</ExpandAttributedSource>
<ExceptionHandling>Sync</ExceptionHandling>
<EnableFiberSafeOptimizations>false</EnableFiberSafeOptimizations>
<EnableEnhancedInstructionSet>NotSet</EnableEnhancedInstructionSet>
<FloatingPointModel>Precise</FloatingPointModel>
</ClCompile>

您可以通过右键单击您的项目并选择属性来查看所有 属性 页面和配置选项。

点击 属性 给出要传入的命令行开关和简短描述。

这里是所有编译器开关及其作用的link:

Compiler Options Listed Alphabetically

如果您想要描述所有开关和属性的 XML 文件,那么您可以通过浏览到此目录在本地计算机上找到它:

C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.033

您的位置可能略有不同。在这里您可以找到所有 xml 属性 个文件。

查看 CL.xml 文件。

附加信息: VCCLCompilerTool Properties

您还可以参考这个公开了所有 VCCL 编译器属性的 link。文档要好一些。

How to: Integrate Custom Tools into the Project Properties

最终为编译调用的 msbuild 任务是 CL。因此,在查找 msbuild CL task:

时可以找到文档

https://docs.microsoft.com/en-us/visualstudio/msbuild/cl-task

同样还有LINK任务,LIB任务等等。您可能也对这些感兴趣:仅靠编译器选项可能还不够。