Форум программистов, компьютерный форум, киберфорум
Peoples
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  

Сборка Boost, Ubuntu 16.04, QtCreator

Запись от Peoples размещена 15.11.2018 в 23:12
Показов 1807 Комментарии 0

Сборка Boost, Ubuntu 16.04, QtCreator

Для начала необходимо скачать и разархивировать необходимую версию boost: https://sourceforge.net/projec... les/boost/
Bash
1
2
wget -O boost_1_64_0.tar.gz https://sourceforge.net/projects/boost/files/boost/1.64.0/boost_1_64_0.tar.gz/download
tar xzvf boost_1_64_0.tar.gz
Далее перейдём в соответствующий каталог
Bash
1
cd boost_1_64_0
Затем, чтобы собрать данный инструмент запускаем скриптовый файл, выполнив следующую команду:
Bash
1
sudo ./bootstrap.sh --prefix=/usr/local
Где значение prefix - это директория куда будет установлен boost.

Далее начинаем "установку", выполняем сборку всех необходимых библиотек:
Bash
1
sudo ./b2 install
b2 - запускает сборку. В старых версиях Boost команда b2 заменяется на bjam.

Кроме того мы имеем возможность задействовать несколько дополнительных опций.
Общий вид:
Bash
1
b2 --build-dir=build-directory toolset=toolset-name --build-type=complete  stage
Где build-directory - директория куда будут размещены все промежуточные файлы во время сборки;
toolset-name - соответствует вашему компилятору ( acс, borland, como, darwin, gcc, hp_cxx, intel, msvc, sun, vacpp);
complete - cборка всех возможных конфигураций и их сочетаний - Debug/Release, static/dll и т.д;

Больше информации о поддерживаемых опциях сборки можно найти с помощью:
Bash
1
b2 --help
Задаём переменную окружения (среды) LD_LIBRARY_PATH (указываем папку lib, где хранятся файлы boost) и сохраняем:
Bash
1
sudo nano /etc/environment
Code
1
LD_LIBRARY_PATH=/usr/local/lib
Для подключения Boost к проекту в QtCreator нам необходимо добавить заголовочные файлы и библиотеки:
INCLUDEPATH - подключаем заголовочные файлы
LIBS - подключаем библиотеки
Для этого добавим в .pro файл следующие строчки:
Code
1
2
INCLUDEPATH += /usr/locale/include/boost/
LIBS += -L/usr/locale/lib/ -lboost_system
Где /usr/locale/ - путь до Boost'a.
-lboost_system, -lboost_filesystem и т.д. - библиотека, которую необходимо пролинковать

Запустим простейший пример для проверки корректности выполненных действий:

C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
// Рекомендую инклуды связанные с boost писать именно первыми
 
#include <boost/asio.hpp>
#include <boost/date_time/posix_time/posix_time.hpp>
#include <boost/locale.hpp>
#include <QApplication>
#include <QtCore>
#include <QtWidgets>
int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    
    boost::asio::io_service io;
    boost::asio::deadline_timer t(io, boost::posix_time::seconds(5));
    t.wait();
    
    return a.exec();
}
Либо компилировать в виде:
Bash
1
c++ -I /usr/local/include example.cpp -o example -L/usr/local/lib -lboost_system -lboost_filesystem
Bash
1
g++ -I /usr/local/include example.cpp -o example -L/usr/local/lib -lboost_system -lboost_filesystem
Размещено в Без категории
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Всего комментариев 0
Комментарии
 
Новые блоги и статьи
Лето уходит
kumehtar 17.08.2026
Мысли в слух
kumehtar 17.08.2026
Забавно, насколько сейчас стала доступна информация. Например о магии, духовном развитии, медитациях, и других подобных направлениях, ранее зачастую тайных, передаваемых от учителя к ученику. Хотя. . .
Перемещение строк из ТЧ в другой документ с учетом текущего пробега
Maks 17.08.2026
Реализация из решения ниже выполнена на примере нетипового документа "Автозапчасти", с ТЧ "Шины". За основу взят алгоритм отсюда: https:/ / www. cyberforum. ru/ blogs/ 359708/ 10838. html Задача: . . .
Саморегулирующийся социальный контракт для сервера cross-section.
Hrethgir 14.08.2026
С кодом конечно таких глубоких размышлений пока не было, впрочем я уже привык к алгоритмизации. Суть предмета записи: снова в диалоге с нейросетью (я взял пока себе ник для учётки админа - Rector). . . .
Часы электронные
Uhbif79 12.08.2026
Выкладываю программу часов. Программа позволяет: 1. Использовать системное время и дату, 2. Есть возможность вводить время и дату вручную. 3. Реализованы 2 будильника: начало и конец рабочего дня. . . .
Часы с будильником на основе класса QLCDNumber
Uhbif79 12.08.2026
Всем добрый день, выкладываю программу часов с будильником на основе класса QLCDNumber. Здесь я пробовал самостоятельно создавал классы, впервые столкнулся с видимостью переменной одного класса из. . .
Установка MinGW GCC 16.2 и CMake
8Observer8 10.08.2026
VK Видео: https:/ / vkvideo. ru/ video-240781534_456239017 YouTube: eY5-5PyI9NM Текстовая версия
Неделя из жизни имитационной модели склада: мои кривые руки растут, откуда надо
anaschu 10.08.2026
Неделя из жизни имитационной модели склада: как я почти написал неправильную логику и что с этим делать Работаю сейчас над учебно-рабочим проектом: строю в AnyLogic имитационную модель процессов. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru