Boost linux что это

(C++ | Boost) Настраиваем WSL для разработки под Linux для сборки из Visual Studio

Сегодня мы постараемся разобрать все узкие момент настройки среды разработки под Linux из ОС Windows с использованием бустов, с++ и подсистемы линукс (WSL). В данном руководстве, как новичек в с++ (пришел из dotnet), я отчаянно нуждался весь вчерашний вечер. Информация была крайне разрозненна и мне пришлось все собирать по-частям, чтобы довести среду до рабочего состояния, в которой можно и «нужно» разрабатывать.
Как говорил один из преподавателей по плюсам:

Плюсы без бустов — деньги на ветер

И это действительно так! Поэтому мы соберем среду для возможной работы с бустами и статической сборкой.

Определимся с планом:

  • Установить компоненты для разработки под Linux из VS
  • Активировать подситему WSL
  • Установка и настройка компонентов, включая boost
  • Создание, конфигурирование и построение проекта

  • Открываем Visual Studio Installer

  • Выбираем необходимую рабочую нагрузку

После установки нужных компонентов, перезапускаем компьютер и переходим к следующему этапу.

Данный шаг вы можете пропустить, если Вам удобнее работать с любой другой виртуальной машиной.

  • Открываем Мой Компьютер — Удалить или изменить программы — Программы и компоненты — Включение или отключение компонентов Windows
  • Активируем подсистему Linux

После применения изменений в ОС — система попросит перезагрузить компьютер.

  • После перезагруки компьютера — открываем Microsoft Store
  • В поиске ищем — Debian (также доступны различные варианты подсистемы)
  • Устанавливаем пакет
  • Запускаем пакет Debian
  • Вводим ваш логин и пароль
  • Система установлена (Для ее активации Вы можете использовать команду в коммандрой строке «wsl» или запускать по загруженному пакету (Debian)

  • Установим основные пакеты необходимые интеграции с IDE
  • Скачаем wget (для скачивания библиотек boost) и активируем ssh
  • Соберем буст в статической сборке (если кому-то не нужна статическая сборка — опускаем параметр link=static)

Если шаги прошли успешно — Ваша подсистема готова для сборки консольных проектов C++ с использованием библиотек Boost (Запомните или запишите путь к библиотекам указанные как на изображениия, у вас могут отличаться).

Запускаем Visual Studio и создаем проект «Консольное приложение» для ОС Linux

Открываем надстройки приложения -> Диспетчер подключений -> Вводим данные ssh (Для wsl адрес ssh является локальным адресом машины текущей ОС).

После настройки соединения с подсистемой необходимо добавить зависимости Boost.

Добавление каталога библиотек:

На этом приключения не завершаются! Rsync вытянет с wsl заголовки, но компоновщик будет постоянно выдавать ошибку компоновки. Для того, чтобы Ваш проект был построен удачно, необходимо добавить вручную пусть к статическим библиотекам:

Данным действием мы явно указываем, где находится наши статические библиотеки, т.е. если у нас 1 и более библиотеки, синтаксис будет следующий:

Читайте также:  Windows 10 профессиональная описание

Где libboost_filesystem.a и libboost_thread.a название библиотек, которые включаются и используются в проекте.
После всех манипуляций, простой проект со следующим исходным кодом успешно компилируется.


Подведем итоги, мы успешно установили и настроли подсистему WSL для разработки под Linux с использованием языка С++ и библиотек Boost. Настроили среду разработки и собрали необходимые библиотеки на стороне WSL.

Источник

Boost что за зверь такой?

На самом деле мне всё равно что это за хреновина, которая собирается очень долго и требует много места, в процессе сборки покрайней мере. Как какой-то gcc или firefox.

Удручает, что эту хреновину теперь используют в моих mpd и ncmpcpp, пришлось откатиться до версии 0.18.21 и 0.5.10 соответственно. И это навсегда. Козлячие, загубили своими инновациями самый лучший консольный аудиоплеер!

Перемещено mono из development

RTFM — нет? Или мозги отсохли? С таким подходом вам только на винду, сударь. «Хреновина», блин. Как свинья в апельсинах, чесслово.

«. one of the most highly regarded and expertly designed C++ library projects in the world.»

ресурсы компилятора, небось, бережёшь?

лучший консольный плеер это mocp, не звезди-ка, давай.

а то! Конвейеры процессора то не резиновые!

mpd няшнее. хоть я и говноед с 0.19.6.

Пользуясь случаем, хочу спросить, умеет ли mpd показывать список радиостанций от shoutcast.com (или какой другой) и проигрывать их?

Странная тема. Если кто-то компиляет популярные программы, значит, он знает матчасть. А если кто-то не знает, что такое boost, значит, он не знает матчасть.

Во-первых, надо просто нормальные дистрибутивы использовать, у которых boost есть в скомпилированном виде в репозитории.

Во-вторых, boost — это набор библиотек, и поставить его можно, скомпилировав только необходимые. Хотели гибкости и настраиваемости системы — получите, распишитесь.

Чтобы компилять, знать матчасть никогда не было нужно.

Но вообще говоря, буст так и используется в основном в студентоподелках, особенно теперь, когда многие фичи из него в стандарте языка. Более того, использовать его — очень плохой тон, но студентоподелкам это простительно, они в первую очередь для приобретения навыков существуют. А вот за то что тащат это говно в существующие проекты нужно ломать пальцы.

boost всего 6 минут компилируется на моей машине (сейчас только проверил genlop-ом). А сколько крика!

Теперь собери какой-нибудь mkvtoolnix. Хотя это не проблема пользователя. И пяток лишник файлов в проекте уже тоже не такая большая проблема.

Это библиотека для ускорения слива тролей в более подходящие для них ОС.

У вас, батенька, натуральная шизофрения. Только если вы не хотите сказать, что стандарт С++ пишут студенты-недоучки.

Читайте также:  Open with для windows mobile

Ну и желание карать неугодных это так характерно для радикальных любителей швабодки, что уже не удивляюсь.

one of the most highly retarded

Не для поехавшего сторожа. Для него это нормально, он же поехавший.

что же будет, когда ты соберёшься либреофис конпелять

boost . поставить его можно, скомпилировав только необходимые. Хотели гибкости и настраиваемости системы

но не стандартными средствами gentoo, лол

Нет, серьёзно, где ты увидел там что-то такое? У меня, любителя анальной проприетарщины? Это просто наблюдение, буст тащат в проект обычно из-за одной-двух фич, когда можно вполне обойтись без него.

В бусте почти нечего компилировать, ибо он почти весь в заголовочниках (за исключением нескольких библиотек). Посему он компилируется каждый раз как часть того, что его использует.

Ну а медленно, потому что плюсы и шаблоны, да.

Библиотека всякого говна под недоязык

А вот за то что тащат это говно в существующие проекты нужно ломать пальцы.

У ти какой воинственный, наверное вещи навроде asio и filesystem каждый раз с нуля пишешь?

Я вообще-то не сильно фанат ни стиля, ни содержания, присущего анонимусу, но здесь стоит отметить как никогда точное и мной весьма приплусовываемое высказывание онного.

Купи себе процессор нормальный. Или дистр смени на бинарный.

Хз, что это за зверь, зато ссылка download (non-boost) видна сразу

Не понятно, как mpd столько жил без всяких бустов, и вдруг — пожалуйста. Я вообще считал, что он на C написан, лол

Лень минут 10 потратить? О.о

Для сборки из сырцов, лол.

наверное вещи навроде asio и filesystem каждый раз с нуля пишешь?

Вместо этого уг есть православный libevent

А это зачем использовать? Апи для фс же простое у всех

до 5 минут это долго? браузеры пробовал вообще компилить? Или ты на планшете компилируешь.

спокойно, mpd не использует boost.

boost нужен для ncmpcpp

а тсу только бы страч развести

Yep. Только что не ok — не может в cue. Поэтому иногда чередую с cmus.

Так это он мягко выразился, на лоре матом лучше не писать

Буст это рак, только фанатам системд это не понять, у вас орган отвечающий за чувство меры атрофирован

Более того, использовать его — очень плохой тон

А вот за то что тащат это говно в существующие проекты нужно ломать пальцы.

Ломать пальцы нужно прежде всего за такие выпады.

Нет, серьёзно, где ты увидел там что-то такое?

Фичи, которые из буста перетащили в стандарт, сначала, как это ни удивительно, появились в самом бусте. Если буст дозволительно ипользовать только в студентоподелках, то авторы стандарта С++ являются студентами-недоучками.

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

Это уже автору программы решать, что можно, а что нельзя.

Читайте также:  Net core linux command

Какой ужас. Я сомневаюсь, что ты знаешь C++ и software engineering в целом лучше, чем, скажем, тот же Александреску.

Странная тема. Если кто-то компиляет популярные программы, значит, он знает матчасть. А если кто-то не знает, что такое boost, значит, он не знает матчасть.

Это псевдознания генты.

надо просто нормальные дистрибутивы использовать, у которых boost есть в скомпилированном виде в репозитории.

division by zero

Во-вторых, boost — это набор библиотек

что это делает в Development?
тупняк, провокация флейма. язабан этого придурка

Какой ужас. Я сомневаюсь, что ты знаешь C++ и software engineering в целом лучше, чем, скажем, тот же Александреску.

А? При чем здесь Александреску? Он же свою LOKI делает, не буст?

Или захотелось авторитетом подавить? Срезал, ага. А кто авторитетнее — Александреску или Поттеринг? Протащишь буст в системд?

Для обычного быдлокодера, не гениев типа Александреску или intelfx, буст — дурацкая библиотека. Она неудобная, нелогичная, переполнена какими-то костылями. Как и все метапрограммирование на шаблонах в С++. Ошибки в несколько экранов, тормозная компиляция. Ты сколько им пользовался? Было бы интересно расспросить тебя про буст и ощущения лет через 5 хотя бы

это как раз вполне логично, далеко не каждый осваивает особенности буста и тем более следит за всеми изменениями в нём.

для тех кто в танке: в boost нечего собирать, это набор шаблонов.

Шаблон, это «усовершенствованный макрос» (©Джефф Элджер), т.е. он отдельно НЕ собирается, а сначала разворачивается внутри проекта, а потом собирается вместе с проектом. В итоге, helloworld с boost’ом собирается полчаса, но итоговый машинный код эквивалентен машинному коду собранного с сишки(в первом приближении). Т.о. Boost позволяет писать на C++ типа как на php (доступно любому дебилу), но результат получается такой-же быстрый и экономичный, как у задрота сишки 80lvl. Ну это в теории конечно. Но на практике тоже результат неплохой, во всяком случае лучше, чем если-бы этот дебил писал на пхп или C/C++.

В итоге, boost так любим разными недопрограммистами. Ну и профессионалами, которые пишут код за еду — быстро и качественно.

буст и ощущения лет через 5 хотя бы

О, в похожих темах есть новость о выходе boost 1.35 в 2008 году. Вышел Boost 1.35 Интересно было бы кастнуть всех кто восторгался тогда бустом и расспросить, как оно сейчас

Источник

Оцените статью