C++ VS2017属性表订购

C++ VS2017属性表订购,c++,visual-studio-2017,wxwidgets,propertysheet,C++,Visual Studio 2017,Wxwidgets,Propertysheet,因此,我在VS2017中有一个项目,VS2017最近收到了一个更新。然后,我将所有wxWidgets模块作为项目添加到我的初始解决方案中,并处理了构建顺序,以便它们以正确的顺序构建 但是,我总是会遇到以下错误: C:\Programs\Visual Studio 2017\Common7\IDE\VC\VCTargets\Microsoft.Cpp.Common.props(144,5): warning MSB4211: The property "WindowsTargetPlatformV

因此,我在VS2017中有一个项目,VS2017最近收到了一个更新。然后,我将所有wxWidgets模块作为项目添加到我的初始解决方案中,并处理了构建顺序,以便它们以正确的顺序构建

但是,我总是会遇到以下错误:

C:\Programs\Visual Studio 2017\Common7\IDE\VC\VCTargets\Microsoft.Cpp.Common.props(144,5): warning
MSB4211: The property "WindowsTargetPlatformVersion" is being set to a value for the first time, but it was already consumed at
"C:\Programs\Visual Studio 2017\Common7\IDE\VC\VCTargets\Microsoft.Cpp.WindowsSDK.props (29,5)".
我发现了这条线索和其中链接的文章:

但它没有告诉我如何修复它。据我所知,单个项目的属性并没有按照应该评估的顺序进行评估

如何定义属性表顺序?我到底需要换什么


也不是说我不能更改项目文件或任何连接到wxWidgets的东西,因为它是我存储库中的一个子模块,所做的任何更改都不能保存到repo中。

免责声明:我对您的问题一无所知,只是想帮助您(OP)

在IDE中,在菜单“查看”下,选择“其他窗口”。 在此处选择“属性管理器”,可以在项目中操作属性表。 在属性页上单击鼠标右键。有些工作表有一个菜单,可以让您上下移动工作表

我建议你玩玩这个。这也许能解决你的问题。
当然,我可能完全错了。

我也有同样的问题,但我有不同的库

我的原因是,在我转换的项目中,props文件中不存在我编译时使用的配置

C:\Users\\AppData\Local\Microsoft\MSBuild\v4.0\Microsoft.Cpp.x64.user.props

例如,在我的vcxproj文件中

<ProjectConfiguration Include="DLL Release|x64">
  <Configuration>DLL Release</Configuration>
  <Platform>x64</Platform>
</ProjectConfiguration>

DLL发布
x64
但在道具文件中,我只有:

  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
    <ClCompile>
      <PreprocessorDefinitions>MYMACRO1;MYMACRO2;%(PreprocessorDefinitions)</PreprocessorDefinitions>
    </ClCompile>
  </ItemDefinitionGroup>

MYMACRO1;MYMACRO2;%(预定义)
我刚刚为'DLL Release | x64'添加了一个类似的条目,并修复了它


在这种情况下,警告信息肯定没有多大帮助。

我怎么不清楚我在问什么?这是朝着正确方向迈出的一步,但我在这里真的什么都做不了。我试着用提供的sln编译wxWidgets,但仍然出现了一个错误,这让我相信这是我的系统设置问题,而不是解决方案设置问题……这是正确的答案。也请查收。这很容易。基本上,位于顶部的属性表中的属性是项目属性的属性(除非项目具有特定属性)。它会起作用的。MSV的良好特性(一旦你了解它)。如果这对您不起作用,那么您可能已经对项目/解决方案xml之类的文件进行了手动调整,或者可能还有其他完全不同的内容。