2010-11-14 1 views
8

Я недавно начал использовать Boost в моих проектах на C++ и заметил довольно большую задержку, прежде чем компиляция даже начнется (когда я нажму на повторную сборку, я должен ждать 5 минут для компиляции начать).Boost действительно замедляет компиляцию на VS2005

Я запустил Filemon, и он показал мне, что все это время Visual Studio was iden devenv.exe просматривал через Boost include каталоги.

Любые идеи, как я мог бы получить скорость компиляции без бросания Ускорение от цели?

спасибо.

+1

5 минут кажется чрезмерным, поэтому, возможно, есть что-то большее, чем VS, проходящее через заголовки. но вы пробовали предварительно скомпилированный заголовок? Предварительно скомпилированные заголовки Visual C++ не очень приятны, но ... –

+0

5 минут невероятно чрезмерны. Это может показаться очевидным комментарием, но какова память машины, на которой вы компилируете? Я думаю, что что-то другое вызывает это, и я не думаю, что это толчок. –

+5

'devenv.exe' - это процесс IDE Visual Studio (« среда разработки »). Помимо того, что для IntelliSense требуется сканирование и синтаксический анализ, на самом деле он не компилирует C++. Компиляция и привязка фактически выполняются 'cl.exe',' link.exe' и их друзьями. Попробуйте отключить IntelliSense; это помогает? (IntelliSense намного лучше в Visual Studio 2008 и значительно улучшена в Visual Studio 2010). –

ответ

4

Возможно, вы добавили boost, включив каталоги прямо в «Настройки проекта> C/C++> Общие> Дополнительные каталоги Include». Visual Studio отслеживает зависимости проектов, чтобы обеспечить минимальную перекомпиляцию, когда что-то изменилось (это не связано с IntelliSense).

Если вы это сделали, переместите boost в свой VS include path - это то, где они принадлежат, и они никогда не будут проверены VS при компиляции проекта. Если вы этого не сделали, может быть какая-то другая ссылка на модули повышения в настройках проекта.

+0

«VS include path» - где именно он IDE? – Andrew

+1

Он находится в разделе Инструменты-> Параметры-> Проекты и Решения-> Каталоги VC++. Для поддержки поддержки вам необходимы как «Включить файлы», так и «Библиотечные файлы». –

+0

Для VS2012 он находится в свойствах проекта -> 'Свойства конфигурации -> Каталоги VC++ -> Включить каталоги' –

Смежные вопросы