Я бы хотел переопределить каталоги, используемые Visual Studio (devenv.exe) для путей к компилятору и библиотеке. Я знаю, как сделать это в интерактивном режиме через Сервис-> Параметры-> Каталоги VC ++, но я бы хотел автоматизировать это.
http://msdn.microsoft.com/en-us/library/t9az1d21(VS.80).aspx содержит заманчивое примечание: «Если вы хотите настроить пути поиска в каталоге (для ваших проектов), которые могут совместно использоваться другими пользователями или могут применяться на нескольких компьютерах, Visual C ++ предоставляет альтернатива использованию этого диалога через листы свойств проекта. Для получения дополнительной информации см. Таблицы свойств (C ++). "
Если вы перейдете по ссылке на документацию с таблицами свойств, там будет много информации о механизме, но не о фактических свойствах, которые вам нужно установить.
Я нашел информацию, заполняемую диалогом каталогов VC ++, в% LocalAppData% \ Microsoft \ VisualStudio \ 8.0 \ VCComponents.dat (для VS 2005 и 9.0 для VS 2008); кажется, что он устанавливает различные свойства в VC \ VC_OBJECTS_PLATFORM_INFO \ win32 \ Directories и ... \ x64 \ Directories.
Кто-нибудь делал это раньше и знает, что такое сопоставление от имен свойств, используемых в VCComponents.dat, до имен, которые будут использоваться в файле .vsprops?
Я бы хотел, чтобы это работало в VS2005, VS2008 и VS2010, в идеале.
В VS2010 Microsoft полностью покончила с диалогом каталогов VC ++ в разделе «Параметры просмотра», добавив его для каждого проекта, и теперь вы получаете интерактивный пользовательский интерфейс для редактирования этих каталогов в свойствах проекта вместо «Параметры просмотра»; это также означает, что для этого в менеджере свойств есть пользовательский интерфейс; затем, если вы хотите вносить изменения для каждого компьютера, а не для проекта, как это было раньше, вы просто настраиваете лист свойств так, как хотите, и заставляете все свои проекты наследовать от него. Это звучит как большое улучшение по сравнению со старым. И прямой способ сделать то, что я хочу сделать. Но только в VS2010.
VS2005 и VS2008 не имеют пользовательского интерфейса для установки этих свойств в проекте или в списке свойств; Я счастлив сделать это вручную, но я не знаю, как это должно выглядеть!
Вот пустой файл VS 2005.vsprops:
<?xml version="1.0"?>
<VisualStudioPropertySheet
ProjectType="Visual C++"
Version="8.00"
Name="pathSettings"
>
</VisualStudioPropertySheet>
Я установил VS 2010 и использовал его аккуратный новый графический интерфейс для внесения изменений в каталоги поиска; это выглядит так:
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ImportGroup Label="PropertySheets" />
<PropertyGroup>
<ExecutablePath>C:\Test;$(PATH)</ExecutablePath>
</PropertyGroup>
</Project>
Однако, это не работает дословно в VS2005 - VS2005 отказывается загружать его (жалуется, что DTD / объявление схемы не найдено).
Я вставил это в контейнер, в ответ на что VS2005 сообщает мне, что «Элемент PropertyGroup является неожиданным в соответствии с моделью содержимого родительского элемента« VisualStudioPropertySheet ». Ожидается: Инструмент, UserMacro». Tool и UserMacro - это единственные вещи, показанные в примере на странице MSDN [drat - StackOverflow не позволит мне, как новому пользователю, разместить здесь гиперссылку - первый результат поиска Google для «инструмента листов свойств usermacro»] - возможно, единственные вещи, законные в листе собственности VS2005?