当我打开生成的解决方案+项目文件时,我对项目文件中的每个平台都收到以下警告:
path / to / project.vcxproj:warning:Platform' [some_platform,0]'在项目文件' project'中引用无法找到。
some_platform
是项目中的有效平台,构建,浏览等都能正常工作。没有显示 问题所在的行号。
我的问题是,'[some_platform, 0]'
到底意味着什么?
来自Linux,我最初认为这些引号意味着我[some_platform, 0]
字面指定了某个地方,我不知道。我也没有在项目文件中的任何地方看到,\s*0
。如何解读该消息以便能够找出它所抱怨的内容?
如果重要的话,这是一个C ++项目。
编辑:,
中唯一使用的地方是两条消息和一个SDK引用。所以[some_platform, 0]
肯定是为了警告而构建的,但第二部分(0
)是什么意思?
已解决:为什么VS会生成类似的输出,我不知道,谁知道0的含义。然而,事实证明,平台名称是SDK将向VS注册的东西(或沿着这些行注册的东西),VS期望它区分大小写。我把ORBIS和Durango改成了orbis和durango,引起了警告。修复案例会使警告消失(无论如何,项目正在加载并构建正常)。
答案 0 :(得分:1)
我认为你可能拥有无与伦比的解决方案/项目平台和构建配置,导致visual studio定义或创建新的时候很少见:https://msdn.microsoft.com/en-us/library/kkz9kefa.aspx以奇数平台名称结尾' [some_platform,0 ]',' [durango,0]'和' [orbis,0]'你有。
现在这完全是我的猜测(因为我找不到任何文件来证实)。但是0实际意味着,是对项目应该在您定位这些单独平台时应使用的默认构建配置的引用。例如,解决方案(.sln)文件中通常有与此类似的行:
{XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
在上面的情况中,当从控制台使用msbuild solutionname.sln
时,您将使用构建配置0作为默认构建配置。但由于整个平台是为该项目生成的,我们当然也没有默认的构建配置,所以......让我们生成。此帖子中有更多详细信息和默认构建配置示例:Visual Studio solution file - what does the "Build.0" mean?
现在又回到了真正的问题。您提到了SDK引用,您是否确保它们指向正确的位置并且在Visual Studio中正确配置了任何环境变量?如果没有,问题可能与此处提到的警告有关: Platform 'Android' referenced in the project file 'san-angeles' cannot be found。关于该问题的警告消息肯定与您的警告类似,只有您拥有那些奇怪生成的平台名称。
希望这可以帮助您解决问题。