Как использовать Boost в Visual Studio 2010

Ответы:

512

Хотя ответ Нейта уже довольно хорош, я собираюсь расширить его более подробно для Visual Studio 2010 по запросу и включить информацию о компиляции в различных дополнительных компонентах, для которых требуются внешние библиотеки.

Если вы используете только библиотеки заголовков, то все, что вам нужно сделать, - это разархивировать ускоренную загрузку и настроить переменные среды. Приведенная ниже инструкция устанавливает переменные среды только для Visual Studio, а не для всей системы в целом. Обратите внимание, вы должны сделать это только один раз.

  1. Разархивируйте последнюю версию boost (1.47.0 на момент написания) в каталог по вашему выбору (например C:\boost_1_47_0).
  2. Создайте новый пустой проект в Visual Studio.
  3. Откройте диспетчер свойств и разверните одну из конфигураций для выбранной вами платформы.
  4. Выберите & щелкните правой кнопкой мыши Microsoft.Cpp.<Platform>.user, и выберитеProperties чтобы открыть страницу свойств для редактирования.
  5. Выберите VC++ Directoriesслева.
  6. Отредактируйте Include Directoriesраздел, указав путь к исходным файлам буста.
  7. При необходимости повторите шаги 3 - 6 для другой платформы по вашему выбору.

Если вы хотите использовать часть надстройки, требующую сборки, но не имеющую функций, требующих внешних зависимостей, то сборка будет достаточно простой.

  1. Разархивируйте последнюю версию boost (1.47.0 на момент написания) в каталог по вашему выбору (например C:\boost_1_47_0).
  2. Запустите командную строку Visual Studio для выбранной вами платформы и перейдите в нужное место.
  3. Запустите: bootstrap.batдля сборки b2.exe (ранее назывался bjam).
  4. Запустите b2:

    • Win32: b2 --toolset=msvc-10.0 --build-type=complete stage ;
    • x64: b2 --toolset=msvc-10.0 --build-type=complete architecture=x86 address-model=64 stage

Пойду гулять / смотреть фильм или 2 / ....

  1. Выполните шаги 2 - 6 из набора инструкций выше, чтобы установить переменные среды.
  2. Отредактируйте Library Directoriesраздел, включив в него путь к вашим выходным библиотекам. (По умолчанию для примера и приведенных выше инструкций будет C:\boost_1_47_0\stage\lib. Переименуйте и переместите каталог в первую очередь, если вы хотите иметь x86 и x64 рядом (например, для <BOOST_PATH>\lib\x86& <BOOST_PATH>\lib\x64).
  3. При необходимости повторите шаги 2 - 6 для другой платформы по вашему выбору.

Если вы хотите дополнительные компоненты, то у вас есть больше работы. Эти:

  • Фильтры Boost.IOStreams Bzip2
  • Фильтры Boost.IOStreams Zlib
  • Boost.MPI
  • Boost.Python
  • Поддержка Boost.Regex ICU

Фильтры Boost.IOStreams Bzip2:

  1. Разархивируйте последнюю версию исходных файлов библиотеки bzip2 (на момент написания 1.0.6) в каталог по вашему выбору (например, C:\bzip2-1.0.6).
  2. Следуйте второму набору инструкций выше, чтобы создать boost, но добавьте опцию -sBZIP2_SOURCE="C:\bzip2-1.0.6"при запуске b2 на шаге 5.

Фильтры Boost.IOStreams Zlib

  1. Разархивируйте последнюю версию исходных файлов библиотеки zlib (1.2.5 на момент написания) в каталог по вашему выбору (например C:\zlib-1.2.5).
  2. Следуйте второму набору инструкций выше, чтобы создать boost, но добавьте опцию -sZLIB_SOURCE="C:\zlib-1.2.5"при запуске b2 на шаге 5.

Boost.MPI

  1. Установите дистрибутив MPI, такой как Microsoft Compute Cluster Pack.
  2. Выполните шаги 1 - 3 из второго набора инструкций выше, чтобы создать повышение.
  3. Отредактируйте файл project-config.jamв каталоге, <BOOST_PATH>который возник в результате запуска начальной загрузки. Добавьте строку, которая гласит using mpi ;(обратите внимание на пробел перед ';').
  4. Следуйте остальным шагам из второго набора инструкций выше, чтобы создать надстройку. Если автоопределение установки MPI завершится неудачно, вам нужно будет найти и изменить соответствующий файл сборки, чтобы найти MPI в нужном месте.

Boost.Python

  1. Установите дистрибутив Python, например ActivePython ActiveState. Убедитесь, что установка Python находится в вашем PATH.
  2. Для полной сборки 32-битной версии библиотеки требуется 32-битный Python, и аналогично для 64-битной версии. Если по этой причине у вас установлено несколько версий, вам нужно указать b2, где найти конкретную версию и когда использовать какую. Один из способов сделать это - отредактировать файл project-config.jamв каталоге, <BOOST_PATH>который возник в результате запуска начальной загрузки. Добавьте в следующие две строки корректировку в соответствии с вашими путями установки и версиями Python (обратите внимание на пробел перед ';').

    using python : 2.6 : C:\\Python\\Python26\\python ;

    using python : 2.6 : C:\\Python\\Python26-x64\\python : : : <address-model>64 ;

    Обратите внимание, что такая явная спецификация Python в настоящее время приводит к сбою сборки MPI. Так что вам нужно будет создать отдельное здание со спецификацией и без спецификации, чтобы построить все, если вы также создаете MPI.

  3. Следуйте второму набору инструкций, чтобы построить надстройку.

Поддержка Boost.Regex ICU

  1. Разархивируйте последнюю версию исходного файла библиотеки ICU4C (4.8 на момент написания) в каталог по вашему выбору (например C:\icu4c-4_8).
  2. Откройте решение Visual Studio в <ICU_PATH>\source\allinone.
  3. Build All для конфигурации отладки и выпуска для платформы по вашему выбору. Может возникнуть проблема при сборке последних выпусков ICU4C с Visual Studio 2010, когда выходные данные для сборки отладки и выпуска находятся в одном и том же каталоге (что является поведением по умолчанию). Возможный обходной путь - сделать Build All (скажем, отладочной сборки), а затем выполнить Rebuild all во 2-й конфигурации (например, Release build).
  4. Если вы собираете x64, вам нужно будет запустить x64 OS, так как есть шаги после сборки, которые включают запуск некоторых 64-битных приложений, которые она собирает.
  5. При желании удалите исходный каталог, когда вы закончите.
  6. Следуйте второму набору инструкций выше, чтобы создать boost, но добавьте опцию -sICU_PATH="C:\icu4c-4_8"при запуске b2 на шаге 5.
КТС
источник
@ Сорин: зачем тебе это менять?
Джалф
6
Следует отметить, что вы должны выбрать Сервис> Настройки> Режим эксперта, чтобы даже увидеть листы свойств. Взял меня в Google, чтобы наконец выяснить это ...
Зак The Human
@KTC: На самом деле это «Настройки эксперта», доступные в меню «Инструменты»> «Настройки». Я использую VSC ++ 2010 Express Edition, и без активации «Настройки эксперта» вы не сможете увидеть листы свойств.
Зак Человек
11
Если вы хотите, чтобы x64 и win32 находились рядом, добавьте «--stagedir = lib / win32» и «--stagedir = lib / x64» в соответствующие сборки.
М. Тиббитс
3
Для видеоруководства по созданию и настройке boost для Visual Studio 2010 это может помочь: youtube.com/watch?v=5AmwIwedTCM
Кристоф,
158

Хотя инструкции на веб-сайте Boost полезны, здесь представлена ​​сокращенная версия, в которой также собраны библиотеки x64.

  • Это нужно делать только в том случае, если вы используете одну из библиотек, упомянутых в разделе 3 на странице инструкций. (Например, для использования Boost.Filesystem требуется компиляция.) Если вы не используете какой-либо из них, просто разархивируйте и перейдите.

Сборка 32-битных библиотек

Это устанавливает заголовочные файлы Boost C:\Boost\include\boost-(version)и 32-битные библиотеки в C:\Boost\lib\i386. Обратите внимание, что расположение по умолчанию для библиотек такое, C:\Boost\libно вы захотите поместить их в i386каталог, если планируете строить для нескольких архитектур.

  1. Разархивируйте Boost в новый каталог.
  2. Запустите 32-разрядную командную строку MSVC и перейдите в каталог, где был разархивирован Boost.
  3. Запустить: bootstrap
  4. Запустить: b2 toolset=msvc-12.0 --build-type=complete --libdir=C:\Boost\lib\i386 install

    • Для Visual Studio 2012 используйте toolset=msvc-11.0
    • Для Visual Studio 2010 используйте toolset=msvc-10.0
    • Для Visual Studio 2017 используйте toolset=msvc-14.1
  5. Добавьте C:\Boost\include\boost-(version)к своему пути включения.

  6. Добавьте C:\Boost\lib\i386к своему пути libs.

Сборка 64-битных библиотек

Это устанавливает заголовочные файлы Boost C:\Boost\include\boost-(version)и 64-битные библиотеки в C:\Boost\lib\x64. Обратите внимание, что расположение по умолчанию для библиотек такое, C:\Boost\libно вы захотите поместить их в x64каталог, если планируете строить для нескольких архитектур.

  1. Разархивируйте Boost в новый каталог.
  2. Запустите 64-разрядную командную строку MSVC и перейдите в каталог, где был разархивирован Boost.
  3. Запустить: bootstrap
  4. Запустить: b2 toolset=msvc-12.0 --build-type=complete --libdir=C:\Boost\lib\x64 architecture=x86 address-model=64 install
    • Для Visual Studio 2012 используйте toolset=msvc-11.0
    • Для Visual Studio 2010 используйте toolset=msvc-10.0
  5. Добавьте C:\Boost\include\boost-(version)к своему пути включения.
  6. Добавьте C:\Boost\lib\x64к своему пути libs.
Nate
источник
24
Если вы не хотите создавать их самостоятельно, вы можете установить готовые двоичные файлы из sourceforge: sourceforge.net/projects/boost/files/boost-binaries Для каждой версии boost существуют установщики для каждой версии visual studio (в как 32, так и 64 бит).
teeks99
В чем причина использования архитектуры = x86 вместо архитектуры = x64 при 64-битной сборке? РЕДАКТИРОВАТЬ: Просто выяснил трудный путь: P Вы не можете переключиться на 64 ...
kayleeFrye_onDeck
эй, @ teeks99 Я посетил твою ссылку, но для версии v1.4.7 я нашел слишком много файлов, какой из них мне следует использовать в любом случае? не лучше, если есть один файл (library / dll), который подходит для использования всеми функциями boost?
Gumuruh
2
Попробуйте sourceforge.net/projects/boost/files/boost-binaries/… и вы сможете найти там установщик для 1.47.0 в зависимости от того, нужен ли вам 32-битный или 64-битный. Внутри вы найдете много библиотек DLL, вот как работает Boost. Однако, пока вы указываете свой проект Visual Studio на правильный каталог, не должно иметь значения, сколько их там, потому что он автоматически выберет тот, который ему нужен.
teeks99
20

Вы также можете попробовать -j% NUMBER_OF_PROCESSORS% в качестве аргумента, он будет использовать все ваши ядра. Делает вещи очень быстро на моем четырехъядерном ядре.

Аарон Стейнбэк
источник
3
На этот раз миллион ... Это то, что я в конечном итоге предпринял в качестве объединенного усилия для VS2015: b2 -j% NUMBER_OF_PROCESSORS% toolset = msvc-14.0 --build-type = complete --libdir = C: \ Boost \ lib \ x64 архитектура = x86 адрес-модель = 64 установить
kayleeFrye_onDeck
для powershell это: -j "$ env: NUMBER_OF_PROCESSORS"
Oscillon
14

Я мог бы порекомендовать следующий трюк: создать специальный boost.propsфайл

  1. Откройте менеджер недвижимости
  2. Щелкните правой кнопкой мыши узел вашего проекта и выберите «Добавить страницу свойств нового проекта».
  3. Выберите местоположение и назовите свой список свойств (например, c: \ mystuff \ boost.props)
  4. Измените дополнительные папки Include и Lib для пути поиска.

Эта процедура имеет значение, что boost включен только в проекты, где вы хотите явно включить его. Когда у вас есть новый проект, который использует boost, выполните:

  1. Откройте менеджер недвижимости.
  2. Щелкните правой кнопкой мыши узел проекта и выберите «Добавить существующую страницу свойств».
  3. Выберите лист свойств boost.

РЕДАКТИРОВАТЬ (после редактирования от @ jim-fred):

Полученный boost.propsфайл выглядит примерно так ...

<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <ImportGroup Label="PropertySheets" />
  <PropertyGroup Label="UserMacros">
    <BOOST_DIR>D:\boost_1_53_0\</BOOST_DIR>
  </PropertyGroup>
  <PropertyGroup>
    <IncludePath>$(BOOST_DIR);$(IncludePath)</IncludePath>
    <LibraryPath>$(BOOST_DIR)stage\lib\;$(LibraryPath)</LibraryPath>
  </PropertyGroup>
</Project>

Он содержит пользовательский макрос для местоположения каталога boost (в данном случае D: \ boost_1_53_0) и два других параметра: IncludePath и LibraryPath. Оператор #include <boost/thread.hpp>найдет thread.hpp в соответствующем каталоге (в этом случае D: \ boost_1_53_0 \ boost \ thread.hpp). Каталог 'stage \ lib \' может меняться в зависимости от установленного каталога.

Этот файл boost.props может быть расположен в D:\boost_1_53_0\каталоге.

Uri
источник
13

Какие части Boost вам нужны? Многие вещи являются частью TR1, который поставляется с Visual Studio, так что вы можете просто сказать, например:

#include <tr1/memory>

using std::tr1::shared_ptr;

По словам Джеймса, это также должно работать (в C ++ 0x):

#include <memory>

using std::shared_ptr;
fredoverflow
источник
5
В VS2010 библиотеки TR1, которые становятся частью C ++ 0x, были перемещены в stdпространство имен, как и в стандарте C ++ 0x. (Я думаю, что они, вероятно, также находятся в std::tr1пространстве имен для обратной совместимости).
Джеймс МакНеллис
6

Эта тема уже давно существует, и я подумал, что хотел бы добавить кое-что о том, КАК собрать Boost максимально быстро на вашем конкретном оборудовании.

Если у вас 4 или 6-ядерный процессор, используйте -j5 или -j7 соответственно. Конечно, не стандартная сборка, ни -j2, если у вас действительно нет двухъядерности.

Я использую Sandy Bridge Extreme со стандартной тактовой частотой 3930 КБ (6-ядерный) на моей главной станции, но у меня есть 2600 КБ (4-ядерный) на старом бэке резервного копирования, и тенденция в том, что я получаю лучшее время ускоренной компиляции с N + 1 процессы сборки, где N - количество физических ядер. N + 2 достигает точки убывающей отдачи, и времена идут вверх.

Примечания: Гиперпоточность включена, 32 ГБ оперативной памяти DDR3, Samsung 840 EVO SSD.

-j7 на 6-ядерном (2 минуты и 51 секунда) (Win7 Ultimate x64) (Visual Studio 2013)

PS C:\Boost\boost_1_56_0> measure-command { .\b2 -j7 --build-type=complete msvc stage }

Days              : 0
Hours             : 0
Minutes           : 2
Seconds           : 51
Milliseconds      : 128
Ticks             : 1711281830
TotalDays         : 0.0019806502662037
TotalHours        : 0.0475356063888889
TotalMinutes      : 2.85213638333333
TotalSeconds      : 171.128183
TotalMilliseconds : 171128.183

-j6 на 6-ядерном (3 минуты и 2 секунды) (Win7 Ultimate x64) (Visual Studio 2013)

PS C:\Boost\boost_1_56_0> measure-command { .\b2 -j6 --build-type=complete msvc stage }

Days              : 0
Hours             : 0
Minutes           : 3
Seconds           : 2
Milliseconds      : 809
Ticks             : 1828093904
TotalDays         : 0.00211584942592593
TotalHours        : 0.0507803862222222
TotalMinutes      : 3.04682317333333
TotalSeconds      : 182.8093904
TotalMilliseconds : 182809.3904

-j8 на 6-ядерном (3 минуты и 17 секунд) (Win7 Ultimate x64) (Visual Studio 2013)

PS C:\Boost\boost_1_56_0> measure-command { .\b2 -j8 --build-type=complete msvc stage }

Days              : 0
Hours             : 0
Minutes           : 3
Seconds           : 17
Milliseconds      : 652
Ticks             : 1976523915
TotalDays         : 0.00228764342013889
TotalHours        : 0.0549034420833333
TotalMinutes      : 3.294206525
TotalSeconds      : 197.6523915
TotalMilliseconds : 197652.3915

-j7 сборка на 6 ядрах

конфиг

Building the Boost C++ Libraries.


Performing configuration checks

    - 32-bit                   : yes (cached)
    - arm                      : no  (cached)
    - mips1                    : no  (cached)
    - power                    : no  (cached)
    - sparc                    : no  (cached)
    - x86                      : yes (cached)
    - has_icu builds           : no  (cached)
warning: Graph library does not contain MPI-based parallel components.
note: to enable them, add "using mpi ;" to your user-config.jam
    - zlib                     : no  (cached)
    - iconv (libc)             : no  (cached)
    - iconv (separate)         : no  (cached)
    - icu                      : no  (cached)
    - icu (lib64)              : no  (cached)
    - message-compiler         : yes (cached)
    - compiler-supports-ssse3  : yes (cached)
    - compiler-supports-avx2   : yes (cached)
    - gcc visibility           : no  (cached)
    - long double support      : yes (cached)
warning: skipping optional Message Passing Interface (MPI) library.
note: to enable MPI support, add "using mpi ;" to user-config.jam.
note: to suppress this message, pass "--without-mpi" to bjam.
note: otherwise, you can safely ignore this message.
    - zlib                     : no  (cached)

Я отмечаю, что 64-битная сборка занимает немного больше времени, мне нужно сделать то же сравнение и обновить.

codenheim
источник
5

Также небольшое примечание: если вы хотите сократить время компиляции, вы можете добавить флаг

-j2

запустить две параллельные сборки одновременно. Это может уменьшить его до просмотра одного фильма;)

GaMer13
источник
2
Объяснение того, как использовать -j2, увеличит ценность вашего ответа.
ST3
5

Скачать буст с: http://www.boost.org/users/download/ например svn

  • Windows -> черепаха (самый простой способ)

После этого: cmd -> перейти в каталог boost («D: \ boostTrunk» - где вы извлекаете или скачиваете и извлекаете пакет): команда: bootstrap

мы создали bjam.exe в ("D: \ boostTrunk"). После этого: команда: bjam toolset = msvc-10.0 вариант = отладка, освобождение потоков = multi link = static (это займет некоторое время ~ 20 мин.)

После этого: Откройте Visual Studio 2010 -> создать пустой проект -> перейдите в свойства проекта -> set:

Свойства проекта VS 2010

Вставьте этот код и проверьте, работает ли он?

#include <iostream>
#include <boost/shared_ptr.hpp>
#include <boost/regex.hpp>

using namespace std;

struct Hello 
{
    Hello(){ 
        cout << "Hello constructor" << endl;
    }

    ~Hello(){
        cout << "Hello destructor" << endl;
        cin.get();
    }
};


int main(int argc, char**argv)
{
    //Boost regex, compiled library
    boost::regex regex("^(Hello|Bye) Boost$");
    boost::cmatch helloMatches;
    boost::regex_search("Hello Boost", helloMatches, regex);
    cout << "The word between () is: " << helloMatches[1] << endl;

    //Boost shared pointer, header only library
    boost::shared_ptr<Hello> sharedHello(new Hello);

    return 0;
}

Ресурсы: https://www.youtube.com/watch?v=5AmwIwedTCM

Эндрю
источник
4

Вот как я смог использовать Boost:

  1. Загрузите и распакуйте zip-версию библиотек Boost.
  2. Запустите файл bootstrap.bat, а затем запустите bjam.exe.
  3. Подождите примерно 30 минут или около того.
  4. Создайте новый проект в Visual Studio.
  5. Перейдите в проект -> свойства -> компоновщик -> общие сведения -> дополнительные каталоги библиотеки и добавьте в него каталог boost / stage / lib .
  6. Перейдите в проект -> свойства -> C / C ++ -> Общие -> Дополнительные каталоги включения и добавьте в него каталог boost .

Вы сможете построить свой проект без ошибок!

Bhavesh
источник
3

Установщики Windows, расположенные здесь, работали отлично для меня. Я предпринял следующие шаги:

  1. Следуйте указаниям мастера установки до завершения.
  2. Запустите визуальную студию.
  3. Создать новый проект C ++
  4. Открыть свойства проекта (можно найти, щелкнув правой кнопкой мыши имя проекта в обозревателе решений)
  5. В разделе «C / C ++> Общие> Дополнительные каталоги включения» добавьте путь, по которому нужно увеличить корневой каталог. По умолчанию для моей версии было C: \ local \ boost_1_63_0. Число после «boost» - это версия boost.
  6. В свойствах проекта в разделе «Компоновщик> Дополнительные каталоги библиотек» добавьте каталог для файлов библиотек. По умолчанию для моей версии было C: \ local \ boost_1_63_0 \ lib64-msvc-14.0. Число после «lib» относится к цели сборки (32-разрядной или 64-разрядной в Visual Studio), а число после «msvc» относится к версии Visual Studio (14.0 относится к Visual Studio 2015, но я используя его с 2017 Visual Studio).

Удачи!

Zoob
источник
2

Небольшое дополнение к очень информативному основному ответу KTC:

Если вы используете бесплатную Visual Studio c ++ 2010 Express и вам удалось получить ее для компиляции 64-битных двоичных файлов, и теперь вы хотите использовать ее для использования 64-битной версии библиотек Boost, вы можете получить 32- библиотеки битов (ваш пробег может меняться конечно, но на моей машине это печальный случай).

Я мог бы исправить это, используя следующее: между шагами, описанными выше как

  1. Запустите 32-разрядную командную строку MSVC и перейдите в каталог, где был разархивирован Boost.
  2. Run: начальная загрузка

Я вставил вызов 'setenv', чтобы установить среду. Для сборки выпуска следующие шаги становятся:

  1. Запустите 32-разрядную командную строку MSVC и перейдите в каталог, где был разархивирован Boost.
  2. Выполните: «C: \ Program Files \ Microsoft SDKs \ Windows \ v7.1 \ Bin \ setenv.cmd» / Release / x64
  3. Run: начальная загрузка

Я нашел эту информацию здесь: http://boost.2283326.n4.nabble.com/64-bit-with-VS-Express-again-td3044258.html

ecotax
источник
Знаете ли вы, относится ли это к Community Edition VS2015? Я, кажется, в конечном итоге с 32-разрядными двоичными файлами, несмотря на предоставление "address-model = 64"
paxos1977
@ paxos1977 Извините, я не знаю - я не пробовал это для VS2015 самостоятельно.
экотакс
Это определенно относится к VS 2015 Express for Desktop Edition, только что испытал это сам. Альтернативой setenv является вызов vcvarsall x86_amd64
introiboad
1

Минималистский пример для начала работы в Visual Studio:

1. Скачать и разархивируйте Boost отсюда.

2. Создайте пустой проект Visual Studio, используя пример библиотеки повышения, которая не требует отдельной компиляции:

#include <iostream>
#include <boost/format.hpp>

using namespace std;  
using namespace boost;  

int main()  
{  
    unsigned int arr[5] = { 0x05, 0x04, 0xAA, 0x0F, 0x0D };  

    cout << format("%02X-%02X-%02X-%02X-%02X")  
            % arr[0]  
            % arr[1]  
            % arr[2]  
            % arr[3]  
            % arr[4]  
         << endl;  
}  

3. В свойствах проекта Visual Studio установите дополнительные каталоги включения:

Свойства проекта

Для очень простого примера:

Как установить Boost библиотеки в Visual Studio

Если вы не хотите использовать всю библиотеку Boost, просто подмножество:

Использование подмножества буст-библиотек в Windows

Если вы специально хотите узнать о библиотеках, которые требуют компиляции:

Как использовать скомпилированные библиотеки Boost в Windows

AndyUK
источник
0

Кроме того, есть кое-что, что я считаю очень полезным. Используйте переменные среды для ваших путей повышения. (Как установить переменные окружения в Windows, ссылка внизу для 7,8,10) Переменная BOOST_ROOT, кажется, больше не используется, и для нее задан корневой путь, в который вы распаковываете boost.

Затем в Properties, c ++, general, используйте каталоги Additional Include $(BOOST_ROOT). Затем, если / когда вы перейдете на более новую версию библиотеки boost, вы можете обновить переменную среды, чтобы она указала на эту более новую версию. Как и в других ваших проектах, используйте boost, вам не придется обновлять «Дополнительные каталоги включения» для всех них.

Вы также можете создать переменную BOOST_LIB и указать, где находятся библиотеки. Так же и для Linker-> Additional Library Directory, вам не придется обновлять проекты. У меня есть некоторые старые вещи, собранные с vs10, и новые вещи с vs14, поэтому оба варианта библиотеки Boost встроены в одну и ту же папку. Так что, если я переместлю проект с vs10 на vs14, мне не нужно менять пути повышения.

ПРИМЕЧАНИЕ. Если вы измените переменную среды, она не будет внезапно работать в открытом проекте VS. VS загружает переменные при запуске. Так что вам придется закрыть VS и снова открыть его.

lakeweb
источник