所以,我在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)".
我发现这个帖子和文章链接在其中:link
但它并没有告诉我如何解决它。据我所知,单个项目的属性不会按照应该评估的顺序进行评估。
如何定义属性表排序?我究竟需要改变什么?
此外,我无法更改项目文件或连接到wxWidgets的任何内容,因为它是我的存储库中的子模块,并且所做的任何更改都无法保存到存储库中。
答案 0 :(得分:4)
免责声明:我对您的问题一无所知,只是想帮助您(OP)!
在IDE中,在菜单查看下,选择其他窗口。 选择 Property Manager ,可以在项目中操作属性表。 右键单击属性表。有些工作表有一个菜单,可让您上下移动工作表。
我建议玩这个。它可能只是解决您的问题。 我当然可能完全错了。
答案 1 :(得分:1)
我遇到了同样的问题,虽然有不同的库。
我的原因是在我转换的项目中,我编译的配置在props文件中不存在
C:\用户\\应用程序数据\本地\微软\的MSBuild \ V4.0 \ Microsoft.Cpp.x64.user.props
例如,在vcxproj文件中我有
<ProjectConfiguration Include="DLL Release|x64">
<Configuration>DLL Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
但在道具文件中我只有:
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<PreprocessorDefinitions>MYMACRO1;MYMACRO2;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
</ItemDefinitionGroup>
我刚刚添加了一个类似的条目,用于&lt; DLL Release | x64&#39;并修复了它。
在这种情况下,警告信息肯定不是很有用。