我在 Visual Studio 2010 下启动了一个新的 C++ 项目,在更改项目属性->配置属性->链接器->常规下的输出文件设置后,我遇到了警告 MSB8012。默认为 $(OutDir)$(TargetName)$(TargetExt)
),但我需要将其更改为 $(OutDir)Bin\$(ConfigurationName)\$(TargetName)$(TargetExt)
.
如果我这样做,我会遇到上述警告。我在 Visual Studio 2005 和 2008 下从来没有遇到过这个问题。
错误消息告诉我,我的 TargetPath 与链接器的 OutputFile 属性值不匹配。解析后的命令行看起来和我想要的完全一样,但 TargetPath 值缺少 Bin\$(ConfigurationName)
部分。 TargetPath 属性值究竟在哪里设置/组合?
该消息包含 To correct this, please make sure that $(OutDir), $(TargetName) and $(TargetExt) property values match the value specified in %(Link.OutputFile).
这是否意味着 OutputFile 属性只能具有其默认值?
如何在不重置输出文件属性或使用一些愚蠢的解决方法的情况下解决此警告?
最佳答案
您可以使用配置属性 + 常规、输出目录设置来解决此问题。将其更改为
$(SolutionDir)Bin\$(ConfigurationName)
并保持链接器设置不变。此设置更改会修改 $(OutDir) 的值并使 MSBuild 满意。
关于visual-studio-2010 - 更改输出文件设置时警告 MSB8012,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4123643/