Пакетные сборки в Visual Studio 6 для проекта VC ++ - PullRequest
4 голосов
/ 21 сентября 2011

В VS 2008 и VS 2010 можно легко создать решение и изменить «Конфигурацию решения».Мы можем выбрать конфигурацию, в которую будет встроен каждый проект, когда будем запускать сборку на уровне решения.

Есть ли такая возможность в Visual Studio 6.0?

По моему опыту: когда конфигурация (формируется из списка доступных) в VS6 для проекта VC ++, зависимости (которые сами имеют несколько определенных конфигураций) создаются в некотором случайном порядке.Нет способа управлять конфигурациями зависимостей во время сборки.

«Пакетная сборка» действительно близка к этому, но не так гибка для моих целей.

Я пробовал различные варианты вVS6.Надеюсь, я ясно.

1 Ответ

1 голос
/ 04 декабря 2015

Вот ссылка в командной строке MSDEV. https://msdn.microsoft.com/en-us/library/aa699274(v=vs.60).aspx

- это способ управления построением зависимостей. Укажите /NORECURSE, и зависимости не будут созданы.

Я использую /REBUILD с /NORECURSE, чтобы предотвратить построение зависимостей.

И я строю каждый проект по одному внутри рабочей области в файле bat, выполняя chdir в подкаталог и вызывая MSDEV только для этого подпроекта:

msdev myproject.dsp /MAKE "myproject - Win32 Debug" /REBUILD /NORECURSE > Build.log

Затем я cd перехожу к следующему каталогу проекта.

Кстати, у меня были трудности в течение нескольких лет, когда NMAKE не работал для моих конкретных задач. Оказывается, что переменная окружения PATH внутри MSDEV (Visual Studio 6.0) отличается от переменной окружения PATH командной оболочки, в которой вы будете запускать NMAKE.

Путь, используемый оболочкой MSDEV, - это %PATH% во время установки Visual Studio 6. Мы используем это и продвигаем реестр по мере необходимости для MSDEV, чтобы получить правильную настройку пути при переключении версий нашего программного обеспечения; однако это не поможет обновить %PATH%. Путь MSDEV можно запросить с помощью сценария запроса. У меня нет под рукой моего примера.

Именно поэтому сборки в MSDEV иногда работают, когда сборки с использованием командной строки не работают, так как пути к библиотекам DLL отличаются, и любые пользовательские этапы сборки, запускающие .exe, не будут работать вне среды MSDEV, если только путь не указан обновляется.

У меня где-то есть скрипт, который читает запросы реестра, чтобы извлечь путь MSDEV и обновить PATH оболочки, чтобы пакетные сценарии, выполняющие nmake, работали так же, как и в среде оболочки MSDEV. Проблема с REGISTRY QUERY заключается в том, что возвращаемые аргументы отличаются в зависимости от версии Windows (XP / SERVER2003 /...).

Я только что обнаружил, что Incredibuild работает со старой IDE MSDEV VS6.0. Это изменит правила игры. Распределяет сборки. Сейчас я оцениваю его, но он может пригодиться всем, кто ждет длинных сборок VS6.0.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...