Перейти к содержимому

Как узнать версию boost linux

  • автор:

Как установить Boost C++ на Ubuntu 22.04

Для разработчика C++ наличие всех необходимых инструментов для облегчения разработки является дополнительным преимуществом. Библиотека Boost C++ содержит все библиотеки с открытым исходным кодом, необходимые для разработки на C++. Эти библиотеки поставляются в комплекте с Boost C++. После его установки вы можете начать использовать библиотеки в своем коде во время разработки.

Мы рассмотрим полную установку Boost C++ на Ubuntu 22.04.

Два способа установки Boost C++ в Ubuntu 22.04

У вас есть два варианта установки библиотеки Boost C++ в Ubuntu 22.04. Во-первых, вы можете установить его через репозиторий Ubuntu apt, но это не даст вам последнюю версию. Кроме того, вы можете установить его из исходного кода, что дает вам доступ к последней версии.

1. Установите Boost C++ через APT

Установка его через репозиторий apt — наиболее удобный способ быстрой установки Boost C++ на Ubuntu 22.04. Начните с обновления репозитория.

$ sudo apt update

Следующим шагом будет установка пакета libboost-all-dev, который содержит библиотеки разработки Boost C++.

$ sudo apt install libboost-all-dev

Пакеты Boost C++ имеют большой размер. Нажмите y, чтобы подтвердить установку. Убедитесь, что в вашей системе достаточно места для установки.

После завершения установки пакета убедитесь, что установка прошла успешно, проверив версию установки Boost C++.

$ dpkg -s libboost-dev | grep version

Установленная версия 1.74, но это не последняя версия. Чтобы получить последнюю версию, используйте второй метод установки, который мы обсудим позже в этой статье.

Когда вы устанавливаете Boost C++ через APT, вы можете удалить установленный пакет и зависимости с помощью следующей команды:

$ sudo apt autoremove libboost-all-dev

2. Установите Boost C++ через исходный код

Для тех, кто хочет испачкать руки, установив последние библиотеки Boost C++, вы должны установить их через исходный код.

Начните с посещения веб-сайта Boost C++ и откройте раздел «Загрузки». Найдите параметр «Ускорить загрузку» и нажмите «Текущий выпуск».

Появится список доступных текущих выпусков, которые вы можете загрузить. Щелкните правой кнопкой мыши параметр «tar.gz» и скопируйте его ссылку. Вы также можете нажать на нее, чтобы начать загрузку.

На вашем терминале используйте wget для загрузки файла через терминал. Используйте ссылку, которую вы скопировали с помощью команды wget, чтобы начать загрузку.

После завершения загрузки перейдите в каталог загрузки. Здесь мы перемещаем файл в наши «Загрузки», чтобы убедиться, что мы загрузили файл tar, содержащий исходный код.

Извлеките архивный файл с помощью следующей команды:

$ tar xvf boost_1_81_0_tar.gz

Перейдите в извлеченный каталог «Boots».

$ cd boost_1_81_0 /

Мы должны установить необходимые зависимости для поддержки установки Boost C++. Выполните следующую команду, и все зависимости будут установлены:

$ sudo apt install build-essential python3-dev g++ autotools-dev libicu-dev libbz2-dev -y

Затем нам нужно настроить начальную загрузку Boost. Следующая команда запускает сценарий Bootstrap и создает механизм B2:

$ sudo . / bootstrap.sh —prefix = / usr /

Теперь вы можете запустить сгенерированный движок B2.

Наконец, установите Boost C++ с помощью пакета B2.

$ sudo . / b2 install

После запуска программы установка завершится, и в вашей системе будут доступны библиотеки Boost C++. Затем вы можете вызывать их при написании проектов на C++.

Заключение

Boost C++ — удобная библиотека для работы с проектами C++. Он предлагает различные библиотеки, которые вы можете использовать. Мы рассмотрели два способа установки на Ubuntu 22.04. Вы можете установить его напрямую через APT или используя его исходный код. Используйте тот способ, который удобен для вашего случая.

Все права защищены. © Linux-Console.net • 2019-2023

Как установить boost версии больше 1.65.1, при установке стандартными командами не получается поставить версию выше

Но он установил boost версии 1.65.1, как можно обновить его до более новой версии буста? Мне нужна 1.68 минимум.

Отслеживать
задан 20 мая 2021 в 8:36
91 7 7 бронзовых знаков
собрать ручками или использовать образ с более свежей убунтой
20 мая 2021 в 8:42

Никак, если ставите из пакетов, то извольте пользоваться старьем. Если хочется новее — делайте изолированную утановку и/или используйте контейнер.

20 мая 2021 в 8:45
проверил на последней убунте — 1.74 — что достаточно новое.
20 мая 2021 в 8:47
@KoVadim у меня в докере 18.04 убунта, блин, придется видимо руками
20 мая 2021 в 8:48

ну так это легко можно догадаться. Ну вряд ли человек в докере будет использовать slackware или Getntoo. Скорее всего убунту, дебиан или альпайн. По именам пакетов остается два варианта.

20 мая 2021 в 9:48

1 ответ 1

Сортировка: Сброс на вариант по умолчанию

Установил в докере вот таким образом:

RUN cd /home && wget http://downloads.sourceforge.net/project/boost/boost/1.68.0/boost_1_68_0.tar.gz \ && tar xfz boost_1_68_0.tar.gz \ && rm boost_1_68_0.tar.gz \ && cd boost_1_68_0 \ && ./bootstrap.sh --prefix=/usr/local --with-libraries=program_options \ && ./b2 install 

Где искать библиотеки boost?

Пытаюсь подключить boost в Code Blocks на Linux Mint. Поставил boost командой sudo apt-get install libboost-all-dev. Заголовочные файлы нашел тут /usr/include/boost. А вот бинарники никак не найду. Судя по гуглу они должны быть где-то здесь /usr/lib/libboost. Но такой папки нет. 🙁 Где их искать?

Все нашел. Помогла команда find /usr/lib -name ‘libboost*’ Оказывается либы были в /usr/lib/x86_64-linux-gnu/

  • Вопрос задан более трёх лет назад
  • 1375 просмотров

How to determine the Boost version on a system?

If you want to figure it out manually (rather than in-code), the go to the include directory, and open up version.hpp. BOOST_VERSION takes a bit of deciphering, but BOOST_LIB_VERSION is pretty clear. The value of mine is currently «1_42»

Sep 14, 2010 at 12:44

In linux, using «ldd yourprogramname» will often show you which version of boost was linked to your program (which has the possibility of indicating a difference from the header, though it’s unlikely to be different).

Aug 21, 2013 at 21:36
Also in linux, dpkg -S /usr/include/boost/version.hpp
Apr 29, 2016 at 17:13

You can quickly look up the current value via e.g. echo -e ‘#include \nBOOST_VERSION’ | gcc -x c++ -E — — for example on Fedora 26: 106300 (i.e. 1.63)

Jul 22, 2017 at 14:07

std::cout  

Possible output: Using Boost 1.75.0

Tested with Boost 1.51.0 to 1.63, 1.71.0 and 1.76.0 to 1.83.0

answered Oct 26, 2012 at 9:50
Vertexwahn Vertexwahn
7,541 7 7 gold badges 65 65 silver badges 91 91 bronze badges
what a dedication sir @Vertexwahn
Jul 16, 2015 at 7:30
To break @Vertexwahn 's streak: Works also with 1.60.0 and 1.61.0.
Jul 7, 2016 at 11:48
@Vertexwahn They should hire you for any kind of release changes.
Dec 27, 2016 at 23:48

Why don't you just update your answer with something like: 'Works with all Boost versions (tested version 1.51 to 1.63 ).' - instead of overflowing the comment section .

Jul 22, 2017 at 14:00

If you only need to know for your own information, just look in /usr/include/boost/version.hpp (Ubuntu 13.10) and read the information directly

answered Feb 10, 2014 at 23:27
user1245262 user1245262
7,204 9 9 gold badges 50 50 silver badges 79 79 bronze badges

#include #include #include int main() < std::cout 

Update: the answer has been fixed.

answered Sep 14, 2010 at 12:20 11.4k 1 1 gold badge 30 30 silver badges 35 35 bronze badges Why not just: std::cout << "Boost version: " << BOOST_LIB_VERSION; ? Sep 14, 2010 at 12:46

Running this code outputted "Boost version: 0.199.60" whereas T.E.D.'s version outputted "Boost version: 1_48"

Aug 21, 2013 at 21:20

This doesn't work. Why would any one upvote this? Has anybody actually run this code and gotten useful output? I guess people see "hex" and figure it must be correct.

Oct 9, 2014 at 22:24 This is not correct. Boost version is stored decimally, not hexagonally. Oct 30, 2015 at 9:30 Except now it's just the same thing as the other answer. May 12, 2016 at 13:53

Depending on how you have installed boost and what OS you are running you could also try the following:

dpkg -s libboost-dev | grep 'Version' 

answered Feb 27, 2017 at 14:31
1,319 2 2 gold badges 21 21 silver badges 36 36 bronze badges

Is libboost-dev the same as "boost"? Because I have a lot in /usr/include/boost but your command gives is not installed .

Sep 4, 2019 at 8:12

Boost installed on OS X using homebrew has desired version.hpp file in /usr/local/Cellar/boost//include/boost/version.hpp (note, that the version is already mentioned in path).

I guess the fastest way to determine version on any UNIX-like system will be to search for boost in /usr :

find /usr -name "boost"

answered Oct 14, 2016 at 13:39
Kamil S Jaron Kamil S Jaron
506 10 10 silver badges 23 23 bronze badges

As to me, you can first(find version.hpp the version variable is in it, if you know where it is(in ubuntu it usually in /usr/include/boost/version.hpp by default install)):

 locate `boost/version.hpp` 

Second show it's version by:

 grep BOOST_LIB_VERSION /usr/include/boost/version.hpp 

or

 grep BOOST_VERSION /usr/include/boost/version.hpp. 

As to me, I have two version boost installed in my system. Output as below:

xy@xy:~$ locate boost/version.hpp |grep boost /home/xy/boost_install/boost_1_61_0/boost/version.hpp /home/xy/boost_install/lib/include/boost/version.hpp /usr/include/boost/version.hpp xy@xy:~$ grep BOOST_VERSION /usr/include/boost/version.hpp #ifndef BOOST_VERSION_HPP #define BOOST_VERSION_HPP // BOOST_VERSION % 100 is the patch level // BOOST_VERSION / 100 % 1000 is the minor version // BOOST_VERSION / 100000 is the major version #define BOOST_VERSION 105800 // BOOST_LIB_VERSION must be defined to be the same as BOOST_VERSION # or this way more readable xy@xy:~$ grep BOOST_LIB_VERSION /usr/include/boost/version.hpp // BOOST_LIB_VERSION must be defined to be the same as BOOST_VERSION #define BOOST_LIB_VERSION "1_58" 

Show local installed version:

xy@xy:~$ grep BOOST_LIB_VERSION /home/xy/boost_install/lib/include/boost/version.hpp // BOOST_LIB_VERSION must be defined to be the same as BOOST_VERSION #define BOOST_LIB_VERSION "1_61" 

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *