有没有办法在不实际运行 msbuild 的情况下检索 msbuild 发出的命令?
Visual Studio 设法以某种方式做到这一点(项目属性 -> C/C++ -> 命令行),但我需要以编程方式检索该信息(以将其提供给 clang,仅供参考)。
我会对命令行解决方案(例如“msbuild /givemeyourcommandswithoutactuallyrunningthem”)或 Visual Studio 中的加载项解决方案感到满意。
如果没有直接的方法,我想最好的解决方案是编写一个工具来解析(预处理的)项目文件并将人类可读的选项转换为编译器选项,例如
<PreprocessorDefinitions>WIN32</PreprocessorDefinitions>
会成为
/D "WIN32"
但如果可能的话,我想避免这种情况。