如何使用EnvDTE获取VC项目的/MP选项?



我正在开发Visual Studio加载项来修改VC项目,我想获取/设置/MP选项(多处理器编译选项(。 但我似乎找不到更改它的属性。/MP 的属性在哪里?

我可以使用下面的代码获得 MP 选项。

p.GetEvaluatedPropertyValue("MultiProcessorCompilation");

对于 VC++ 项目,应通过 C/C++| 中的"启用并行代码生成"设置将/Qpar 开关传递给编译器"代码生成"属性页。

若要从 VS 包以编程方式执行此操作,可以使用 IVCRulePropertyStorage.GetEvaluatedPropertyValue 方法。

例如,假设您已经有相关项目的 EnvDTE.Project 接口:

Project proj = GetSelectedProject();
VCProject vcProject = (VCProject)proj.Object;
IVCCollection configs = (IVCCollection)vcProject.Configurations;
VCConfiguration firstConfig = (VCConfiguration)configs.Item(1);
IVCCollection rules = firstConfig.Rules;
IVCRulePropertyStorage p = rules.Item("CL");
string isParallelCodeGenSet = p.GetEvaluatedPropertyValue("EnableParallelCodeGeneration");

请注意,编译器设置是特定于配置的,上面的代码片段仅使用找到的第一个代码片段。因此,您需要从与感兴趣的配置关联的每个规则中检索属性。

您应该查看一些其他链接:

使用 Visual Studio C++ 项目属性

如何读取/写入新的可视C++项目属性

VC配置接口

最新更新