Как установить boost c на visual studio 2019

Обновлено: 04.07.2024

Я скачал boost_1_61_0 и расстегнул молнию.
я использовал bootstrap.bat порождающий b2.exe а также bjam.exe и успешно построенные библиотеки в папке с именем «stage» для обоих x64 а также win32 ,

После того как я .lib а также boost папки, содержащие включаемые файлы.

Когда я удаляю корневую папку, я не могу собрать свою программу.
Почему я не могу построить код?

Я использовал BS как:

Это создает C:\boost который содержит библиотеки и заголовочные файлы. Но когда я пытаюсь использовать эту новую папку в моем проекте, я получаю ошибки: couldn't find eg: boost/reg.hpp

Есть ли правильный способ установить boost после сборки?

Решение

Включение буста находится в созданной вами папке c: \ boost. Таким образом, путь выглядит так: c: \ boost \ boost, как вы уже выяснили.

Задавать BOOST_ROOT в c: \ boost и BOOST_LIB на ваш сценический путь. Я держу все сборки v100, v140 x86 и 64 бит в одной папке. Затем в ваших проектах вы можете установить дополнительные каталоги включения в $ (BOOST_ROOT) и каталоги lib в $ (BOOST_LIB).

Это дает вам много преимуществ, например, когда выйдет 6.62, вы можете поместить его в c: \ boost_62 и изменить переменные окружения, тогда все ваши проекты будут использовать новое повышение. Вам не нужно зацикливаться на c: \ boost. И если вы поделитесь проектом с кем-то другим по другому пути, он просто работает.

BOOST_ROOT выглядит довольно универсально, я не знаю о BOOST_LIB

Кроме того, если вы измените переменную среды, вам придется закрыть Visual Studio и снова открыть ее, чтобы изменения вступили в силу.

Другие решения

Привет, ребята, я понял это:

2- из командной строки или Visual Studio 2015-> Инструменты Visual Studio-> Командная строка разработчика для MS2015 (запустите ее с правами администратора)

3-кд C: \ boost_1_61_0

поэтому создаются новые файлы: b2.exe и bjam.exe в корневой папке.
Теперь мы собираем 64-разрядную версию библиотеки Boost:

В корневом каталоге создается новая папка «Stage», внутри которой находится папка с именем x64, внутри которой находится папка «lib» (.lib files). процесс занимает несколько минут (около 20 минут)

Теперь мы собираем версию для x86:

  • подождите, пока это не будет сделано.
    теперь у нас есть две версии x64 и win32, но корневая папка слишком большая, около 5,3 гигабайта.

Теперь мы устанавливаем эти две библиотеки в «C: \ Boost», а затем очищаем, удаляя папку «C: \ boost_1_61_0»:

  • Я добавляю install и изменяю имя папки от рабочей области до «C: \ Boost \ X64», когда это делается, создается новая папка «C: \ Boost», которая содержит папку include и папку x64, которая содержит файлы lib.
  • когда это будет сделано, удалите папку с именем lib внутри: C: \ Boost \
  • время почистить и освободить память:
  • удалите папку с отверстиями: C: \ Boost_1_61_0, потому что она нам больше не нужна

** как добавить буст в мой проект ?:

теперь включаемые файлы готовы.

если мой проект x86:
перейдите по ссылке: компоновщик-> Общие-> Дополнительные каталоги библиотек-> Изменить-> Добавить новую папку-> C: \ Boost \ win32 \ Lib

если мой проект x64:

компоновщик-> дополнительные каталоги библиотек-> редактировать-> добавить новую папку-> C: \ Boost \ x64 \ Lib

Я хотел бы, чтобы этот пост был полезен всем, кто не смог его установить.

Я много искал, но не нашел ни одного полезного пошагового руководства по установке, настройке и сборке boost в Windows 10 с VS 2019 Preview. Кто-нибудь из вас может помочь мне выполнить эту задачу?

этот файл содержит следующий текст:

Я подозреваю, что вы не строите boost через Visual Studio tools Command Prompt окна.

В настоящее время вы не можете построить Boost с Preview, но вы можете сделать это с помощью только что выпущенного обычного 2019 года. У меня была такая же проблема. Установка штатного 2019 с необходимыми функциями занимает около десяти минут. Вы можете иметь оба одновременно.

Для дальнейшего использования, вот мои заметки о том, как повысить поддержку Windows с поддержкой MPI и python.

Сборка Boost на Windows с VS 2019

Нужна Visual Studio 2019 без предварительного просмотра, любая версия, все C++ и Windows SDK.

* Примечание: временно удалите содержимое C++ и Windows SDK из Preview, если у вас есть оба. В идеале один компилятор, чтобы Boost.build не запутался). *

Далее, если у вас установлен git -f или-windows, выполните

ускоренное репроектирование суперпроекта в незащищенную папку с именем /Boost/ (должно быть незащищено!)

Теперь ваш в /Boost/boost . Оформите ветку разработчика (получите последние обновления) с

Где -f форсирует обновления.

Запустите загрузчик внутри папки boost, используя консоль разработчика Visual Studio. Чтобы активировать эту консоль, используйте панель поиска Windows "Введите здесь для поиска" для "Командная строка разработчика" или откройте Visual Studio и используйте панель поиска вверху.

Примечание. Если вы получаете ошибки доступа, вам необходимо активировать административную консоль разработчика Visual Studio. Откройте cmd в административном режиме и запустите VsDevCmd.bat, файл, который активирует консоль разработчика Visual Studio.

Если вы еще этого не сделали, установите Microsoft MPI, установив оба файла, доступные для последней версии Microsoft MPI. Известно, что он работает с версией 10, требует установки ОБА файлов SDK (MSI файл) и файлов не-SDK (EXE файл) в каталог ПО УМОЛЧАНИЮ. Не изменяйте эти места.

Затем измените project-config.jam в каталоге /Boost/boost/ следующим образом:

(кстати, после каждой строки есть пробел [обычный пробел], даже пустые строки)

Последние две строки предполагают, что вам нужна поддержка mpi и python.

Теперь откройте Visual Studio Developer Console и перейдите (cd) в папку boost /Boost/boost . Поскольку мы используем компилятор Visual C++ из VS 2019, очевидно, нам не нужно ничего b2 install (см. Разделы 5.1 - 5.2 в руководстве по началу работы). Тогда единственное, что нам нужно дальше, это бежать

Опишем, как установить библиотеку Boost для среды Visual Studio.

Шаг 1. Скачиваем исходные коды

Как правило, используется последняя версия библиотеки Boost. Если вам нужна более ранняя версия, то следует учитывать, что компилятор VS 2012 поддерживается с версии 1.52. Другими словами, вы не сможете использовать версию более раннюю чем 1.52 на VS 2012. Придётся установить более раннюю версию VS.

Я буду выполнять установку библиотеки в папку d:\Projects\Libs\boost_1_54_0\. Если у вас другая папка, то все команды изменяются соответствующим образом.

Распаковываем архив boost_1_54_0.zip в папку d:\Projects\Libs\boost_1_54_0\. Из командного интерпретатора выполним следующие команды:

Если требуется изменить конфигурацию библиотеки, то именно сейчас нужно изменить файл 'project-config.jam'. Если вы не знаете об этом, то оставляйте файл конфигурации как есть.

Далее запускаем процесс компиляции, введя команду b2.
Процесс компиляции длится около 20 минут. В конце отобразится информации о путях подключения библиотеки:


Можно использовать утилиту BlueGo, которая позволяет упростить процесс компиляции.

Шаг 3. Создание символьной ссылки

Поскольку будут выходить новые версии библиотеки, то каждый раз изменять пути с D:\Projects\Libs\boost_1_54_0\stage\lib на D:\Projects\Libs\boost_1_55_0\stage\lib и т.д. будет несколько утомительно.

Я предлагаю использовать символьные ссылки, а точнее точки соединения для папок:
Далее я буду использовать D:\Projects\Libs\boost вместо D:\Projects\Libs\boost_1_54_0.

Шаг 4. Создание проекта в Visual Studio

Заходим в свойства проекта и изменяем:

  • в элемент "Каталоги включения" добавляем "d:\Projects\Libs\boost";
  • в элемент "Каталоги библиотек" добавляем "d:\Projects\Libs\boost\libs";


  • в элемент "Дополнительные каталоги библиотек" добавляем "d:\Projects\Libs\boost_1_54_0\stage\lib";
  • в элемент "Дополнительные зависимости" добавляем
    libboost_atomic-vc110-mt-gd-1_54.lib
    libboost_chrono-vc110-mt-gd-1_54.lib
    libboost_context-vc110-mt-gd-1_54.lib
    libboost_coroutine-vc110-mt-gd-1_54.lib
    libboost_date_time-vc110-mt-gd-1_54.lib
    libboost_exception-vc110-mt-gd-1_54.lib
    libboost_filesystem-vc110-mt-gd-1_54.lib
    libboost_graph-vc110-mt-gd-1_54.lib
    libboost_iostreams-vc110-mt-gd-1_54.lib
    libboost_locale-vc110-mt-gd-1_54.lib
    libboost_log-vc110-mt-gd-1_54.lib
    libboost_log_setup-vc110-mt-gd-1_54.lib
    libboost_math_c99-vc110-mt-gd-1_54.lib
    libboost_math_c99f-vc110-mt-gd-1_54.lib
    libboost_math_c99l-vc110-mt-gd-1_54.lib
    libboost_math_tr1-vc110-mt-gd-1_54.lib
    libboost_math_tr1f-vc110-mt-gd-1_54.lib
    libboost_math_tr1l-vc110-mt-gd-1_54.lib
    libboost_prg_exec_monitor-vc110-mt-gd-1_54.lib
    libboost_program_options-vc110-mt-gd-1_54.lib
    libboost_random-vc110-mt-gd-1_54.lib
    libboost_regex-vc110-mt-gd-1_54.lib
    libboost_serialization-vc110-mt-gd-1_54.lib
    libboost_signals-vc110-mt-gd-1_54.lib
    libboost_system-vc110-mt-gd-1_54.lib
    libboost_test_exec_monitor-vc110-mt-gd-1_54.lib
    libboost_thread-vc110-mt-gd-1_54.lib
    libboost_timer-vc110-mt-gd-1_54.lib
    libboost_unit_test_framework-vc110-mt-gd-1_54.lib
    libboost_wave-vc110-mt-gd-1_54.lib
    libboost_wserialization-vc110-mt-gd-1_54.lib
  • в элемент "Дополнительные зависимости" добавляем
    libboost_atomic-vc110-mt-1_54.lib
    libboost_chrono-vc110-mt-1_54.lib
    libboost_context-vc110-mt-1_54.lib
    libboost_coroutine-vc110-mt-1_54.lib
    libboost_date_time-vc110-mt-1_54.lib
    libboost_exception-vc110-mt-1_54.lib
    libboost_filesystem-vc110-mt-1_54.lib
    libboost_graph-vc110-mt-1_54.lib
    libboost_iostreams-vc110-mt-1_54.lib
    libboost_locale-vc110-mt-1_54.lib
    libboost_log_setup-vc110-mt-1_54.lib
    libboost_log-vc110-mt-1_54.lib
    libboost_math_c99f-vc110-mt-1_54.lib
    libboost_math_c99l-vc110-mt-1_54.lib
    libboost_math_c99-vc110-mt-1_54.lib
    libboost_math_tr1f-vc110-mt-1_54.lib
    libboost_math_tr1l-vc110-mt-1_54.lib
    libboost_math_tr1-vc110-mt-1_54.lib
    libboost_prg_exec_monitor-vc110-mt-1_54.lib
    libboost_program_options-vc110-mt-1_54.lib
    libboost_random-vc110-mt-1_54.lib
    libboost_regex-vc110-mt-1_54.lib
    libboost_serialization-vc110-mt-1_54.lib
    libboost_signals-vc110-mt-1_54.lib
    libboost_system-vc110-mt-1_54.lib
    libboost_test_exec_monitor-vc110-mt-1_54.lib
    libboost_thread-vc110-mt-1_54.lib
    libboost_timer-vc110-mt-1_54.lib
    libboost_unit_test_framework-vc110-mt-1_54.lib
    libboost_wave-vc110-mt-1_54.lib
    libboost_wserialization-vc110-mt-1_54.lib

Теперь проект успешно компилируется:


6 комментариев:

Серьезность Код Описание Проект Файл Строка
Ошибка LNK1181 не удается открыть входной файл "libboost_atomic-vc110-mt-1_54.lib" VStilsofteServer E:\Progect VisualStudio 2015\VStilsofteServer\VStilsofteServer\LINK
Почему у меня выдает такую ошибку

Необходимо добавить в Linker->Additional library directories
путь к boost_x_xx\stage\lib, где x - версия буста

Чтобы не набирать библиотеки из папки вручную или через cmd, кому нужен список библиотек версии 1_68 для вставки во вкладку "Дополнительные библиотеки" новой версии - вот он:
Debug (Активный):
libboost_atomic-vc140-mt-gd-x32-1_68.lib
libboost_atomic-vc140-mt-gd-x64-1_68.lib
libboost_chrono-vc140-mt-gd-x32-1_68.lib
libboost_chrono-vc140-mt-gd-x64-1_68.lib
libboost_container-vc140-mt-gd-x32-1_68.lib
libboost_container-vc140-mt-gd-x64-1_68.lib
libboost_context-vc140-mt-gd-x32-1_68.lib
libboost_context-vc140-mt-gd-x64-1_68.lib
libboost_contract-vc140-mt-gd-x32-1_68.lib
libboost_contract-vc140-mt-gd-x64-1_68.lib
libboost_coroutine-vc140-mt-gd-x32-1_68.lib
libboost_coroutine-vc140-mt-gd-x64-1_68.lib
libboost_date_time-vc140-mt-gd-x32-1_68.lib
libboost_date_time-vc140-mt-gd-x64-1_68.lib
libboost_exception-vc140-mt-gd-x32-1_68.lib
libboost_exception-vc140-mt-gd-x64-1_68.lib
libboost_fiber-vc140-mt-gd-x32-1_68.lib
libboost_fiber-vc140-mt-gd-x64-1_68.lib
libboost_filesystem-vc140-mt-gd-x32-1_68.lib
libboost_filesystem-vc140-mt-gd-x64-1_68.lib
libboost_graph-vc140-mt-gd-x32-1_68.lib
libboost_graph-vc140-mt-gd-x64-1_68.lib
libboost_iostreams-vc140-mt-gd-x32-1_68.lib
libboost_iostreams-vc140-mt-gd-x64-1_68.lib
libboost_locale-vc140-mt-gd-x32-1_68.lib
libboost_locale-vc140-mt-gd-x64-1_68.lib
libboost_log_setup-vc140-mt-gd-x32-1_68.lib
libboost_log_setup-vc140-mt-gd-x64-1_68.lib
libboost_log-vc140-mt-gd-x32-1_68.lib
libboost_log-vc140-mt-gd-x64-1_68.lib
libboost_math_c99f-vc140-mt-gd-x32-1_68.lib
libboost_math_c99f-vc140-mt-gd-x64-1_68.lib
libboost_math_c99l-vc140-mt-gd-x32-1_68.lib
libboost_math_c99l-vc140-mt-gd-x64-1_68.lib
libboost_math_c99-vc140-mt-gd-x32-1_68.lib
libboost_math_c99-vc140-mt-gd-x64-1_68.lib
libboost_math_tr1f-vc140-mt-gd-x32-1_68.lib
libboost_math_tr1f-vc140-mt-gd-x64-1_68.lib
libboost_math_tr1l-vc140-mt-gd-x32-1_68.lib
libboost_math_tr1l-vc140-mt-gd-x64-1_68.lib
libboost_math_tr1-vc140-mt-gd-x32-1_68.lib
libboost_math_tr1-vc140-mt-gd-x64-1_68.lib
libboost_prg_exec_monitor-vc140-mt-gd-x32-1_68.lib
libboost_prg_exec_monitor-vc140-mt-gd-x64-1_68.lib
libboost_program_options-vc140-mt-gd-x32-1_68.lib
libboost_program_options-vc140-mt-gd-x64-1_68.lib
libboost_random-vc140-mt-gd-x32-1_68.lib
libboost_random-vc140-mt-gd-x64-1_68.lib
libboost_regex-vc140-mt-gd-x32-1_68.lib
libboost_regex-vc140-mt-gd-x64-1_68.lib
libboost_serialization-vc140-mt-gd-x32-1_68.lib
libboost_serialization-vc140-mt-gd-x64-1_68.lib
libboost_signals-vc140-mt-gd-x32-1_68.lib
libboost_signals-vc140-mt-gd-x64-1_68.lib
libboost_stacktrace_noop-vc140-mt-gd-x32-1_68.lib
libboost_stacktrace_noop-vc140-mt-gd-x64-1_68.lib
libboost_stacktrace_windbg_cached-vc140-mt-gd-x32-1_68.lib
libboost_stacktrace_windbg_cached-vc140-mt-gd-x64-1_68.lib
libboost_stacktrace_windbg-vc140-mt-gd-x32-1_68.lib
libboost_stacktrace_windbg-vc140-mt-gd-x64-1_68.lib
libboost_system-vc140-mt-gd-x32-1_68.lib
libboost_system-vc140-mt-gd-x64-1_68.lib
libboost_test_exec_monitor-vc140-mt-gd-x32-1_68.lib
libboost_test_exec_monitor-vc140-mt-gd-x64-1_68.lib
libboost_thread-vc140-mt-gd-x32-1_68.lib
libboost_thread-vc140-mt-gd-x64-1_68.lib
libboost_timer-vc140-mt-gd-x32-1_68.lib
libboost_timer-vc140-mt-gd-x64-1_68.lib
libboost_type_erasure-vc140-mt-gd-x32-1_68.lib
libboost_type_erasure-vc140-mt-gd-x64-1_68.lib
libboost_unit_test_framework-vc140-mt-gd-x32-1_68.lib
libboost_unit_test_framework-vc140-mt-gd-x64-1_68.lib
libboost_wave-vc140-mt-gd-x32-1_68.lib
libboost_wave-vc140-mt-gd-x64-1_68.lib
libboost_wserialization-vc140-mt-gd-x32-1_68.lib
libboost_wserialization-vc140-mt-gd-x64-1_68.lib
Это для версии 1_68. Список, как видите очень расширился!

Этот комментарий был удален автором.

Так как предоставленные автором имена библиотек тяжело модифицировать под имена библиотек новых версий libboost (так как в имена добавлена приставка x32 или x64, в именах библиотек автора их нет, следовательно в блокноте уже тяжело как-то изменять. ), я выложил список новых библиотек. Я не хочу тут спамить, чтобы получить список для Release, зайдите в блокнот, скопируйте все библиотеки для Debug (Активный), я выкладывал в предыдущем комментарии ,перейдите в меню -> "Правка" -> "Заменить". В поле "Что" пишите "-gd" (без кавычек), поле "Чем" оставьте пустым. Потом нажимаете "Заменить всё". Получившийся список имён библиотек копируете в "Дополнительные библиотеки" в режиме Release.

Версия vs, используемая в этой статье, - Visual Studio Professional 2019, а код библиотеки boost - boost_1_70_0.

Вторая часть, компиляция
В настоящее время большинство способов компиляции надстроечных библиотек в Интернете - это vs2017, vs2015 и vs2013, и сейчас сложно сказать больше.
На первом шаге, в соответствии с онлайн-шагами, запустите bootstrap.bat в cmd, появится результат: cl не является ни внутренней, ни внешней командой, есть много решений этой проблемы в сети, добавьте среду напрямую переменная.
Необходимо обратить внимание на выбор пути в переменной среды, путь к этой статье: VC \ Tools \ MSVC \ 14.21.27702 \ bin \ Hostx64 \ x64
Вторым шагом является запуск ошибки bootstrap.bat. Проверьте bootstrap.log и найдите, что отсутствует ctype.h. Чтобы решить эту проблему, добавьте C: \ Windows \ System32 в переменную среды, а затем перезапустите Просто компьютер.
Третий шаг - успешное выполнение bootstrap.bat. Интерфейс выглядит следующим образом:


Каталог папок после компиляции:

Кроме того, в Интернете упоминается, что для компиляции VS можно использовать командную строку x64 Native Tools.
По умолчанию эта функция не установлена ​​в vs2019. Ее необходимо изменить в загрузчике, чтобы добавить элементы для загрузки.

Переключитесь на «однокомпонентный», а затем продолжайте смотреть вниз, были обнаружены средства генерации MSVC v142-VS 2019 C ++ x64 / x86 (v14.21), отметьте его, загрузите и установите ,

Третья часть, генерация
Создать код сценария x86

Создать код скрипта x64

Интеллектуальная рекомендация


[Makefile от более мелких к более глубоким полная запись обучения 4] Переменные и различные методы присвоения

Давайте сегодня узнаем о различных методах присваивания переменных в Makefile! Смысл тяжелой работы, чтобы бедность больше не ограничивать свое воображение! Добавьте QQ, чтобы вместе учиться и обменив.

[Luogu P3147] [BZOJ 4576] [USACO16OPEN]262144

Портал Луогу БЗОЙ Портал Описание заголовка Bessie likes downloading games to play on her cell phone, even though she doesfind the small touch screen rather cumbersome to use with her large hooves. Sh.

Читайте также: