Incredibuild ссылки - PullRequest
       11

Incredibuild ссылки

3 голосов
/ 13 июля 2009

я использую incredibuild для параллельной компиляции ... Мне также нужно параллельное связывание, но я не могу управлять им для связывания.

  • Знаете ли вы, возможно ли сделать это параллельно?
  • если есть способ, подскажите?
  • если нет, знаете ли вы какие-либо другие инструменты для этой цели?

У меня слишком много проектов, и мне нужно связать их на отдельных машинах.

Ответы [ 4 ]

2 голосов
/ 12 апреля 2012

IncrediBuild поддерживает возможность выполнять связывание параллельно. Перейдите в Настройки агента-> Сборки Visual Studio-> Общие-> Разрешить параллельное выполнение шагов связывания

2 голосов
/ 13 июля 2009

Связывание на самом деле не поддается параллельной обработке, поскольку это естественная точка сериализации при создании исполняемого файла:

  • несколько разработчиков могут писать код параллельно, потому что код находится во многих различных исходных файлах
  • компиляторы могут компилировать код параллельно, потому что несколько экземпляров компилятора могут принимать множество исходных файлов и создавать множество объектных файлов
  • компоновщик не может (легко) работать параллельно, поскольку он принимает много объектных файлов и создает одиночный исполняемый файл

Так что я думаю, что вам не повезет, конечно, для часто используемых линкеров, таких как MS и gcc.

1 голос
/ 13 июля 2009

Вы можете связать два / проекта / параллельно.

Вы не можете связать один проект параллельно. Это потому, что Incredibuild не является компилятором или компоновщиком - он просто координатор поверх существующих инструментов VS. Он раскручивает несколько экземпляров компилятора для разных исходных файлов, но компоновщик VS может быть вызван только один раз, чтобы связать весь проект.

Я некоторое время использовал Incredibuild, но у него есть некоторые ошибки с крайними случаями (например, оболочки взаимодействия ActiveX), которые вызывали слишком много проблем. Добавьте к этому, что Visual Studio может делать многопоточные компиляции, в любом случае, это не стоит денег. (Помимо этого: он недокументирован, но вы можете выполнить многопоточную компиляцию в VS2005, добавив свойства проекта / MP C ++.)

0 голосов
/ 07 октября 2009

Существуют общие рекомендации по настройке Улучшение времени соединения с Incredibuild

Вы также можете пропустить привязку статических библиотек, где вы не будете их распространять, используя Incredilink

Мы обнаружили, что добавление подписывающего шага пост-сборки не позволит incredibuild работать над следующими проектами, добавление комментария к пост-посту должно было помочь

rem IncrediBuild_AllowOverlap

См. IncrediBuild_AllowOverlap doc

...