предупреждение MSB8012 при изменении настройки выходного файла - PullRequest
4 голосов
/ 08 ноября 2010

Я запустил новый проект C ++ в Visual Studio 2010 и у меня появляется предупреждение 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 может иметь только значение по умолчанию?

Как разрешить это предупреждениебез сброса свойства «Выходной файл» или использования какого-то тупого обходного пути?

1 Ответ

5 голосов
/ 08 ноября 2010

Это можно исправить с помощью Конфигурационных свойств + Общие, Настройки выходного каталога.Измените его на

$ (SolutionDir) Bin \ $ (ConfigurationName)

и оставьте настройку компоновщика без изменений.Это изменение параметра изменяет значение $ (OutDir) и делает MSBuild счастливым.

...