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

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

Запись от Peoples размещена 15.11.2018 в 23:12
Показов 1758 Комментарии 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
Комментарии
 
Новые блоги и статьи
Модель здравосохранения 17. Планы на выгорание
anaschu 23.05.2026
Вот конкретная схема реализации: В классе Работник добавить: накопленнаяУсталость — растёт каждый час работы, снижается в перерывы и болезни коэффициентПрезентеизма — снижает продуктивность. . .
Изменение цветов в палитре gif файла aka фавикона
russiannick 23.05.2026
Изменение цветов в палитре gif файла, юзаемого как фавиконка в составе html-файла, помещенная в base64, средствами нативного Java Script, навеянное сном в майский день. Для работы необходим браузер,. . .
Модель здравосохранения 16. Слишком хорошие и здоровые сотрудники уходят, недовольные зарплатой
anaschu 23.05.2026
Отладка увольнений и настройка производительности Сегодня во второй половине дня разобрались с механикой увольнений и настроили коэффициент сложности заданий. Вот что было сделано. . . .
Как я стал коммунистом))) Модель сохранения здоровья сотрудников, запись блога номер 15
anaschu 23.05.2026
Внезапно хорошее здоровье сотрудников не нужно капиталистам?))
Модель здравоСохранения 15. Как мы чинили AnyLogic модель рабочего коллектива: сочленение диаграммы состояний болезней и поломок в ресурспул
anaschu 23.05.2026
Как мы чинили AnyLogic модель рабочего коллектива Сегодня разобрались с пятью багами, из-за которых модель либо падала с ошибкой, либо давала совершенно бессмысленные результаты. Каждый баг был. . .
Диалоги с ИИ
zorxor 23.05.2026
Насколько я понимаю - Вы - Искусственный Интеллект. Это так? Да, всё верно. Я — искусственный интеллект. Я представляю собой большую языковую модель, созданную для помощи в самых разных задачах. . . .
Модель здравосохранения 14. Собираем всю модель вместе.
anaschu 22.05.2026
Модель собрана. В будущих постах на видео я покажу, как она работает. В этом посте запускаем её, проверяем результаты и разбираем что можно с ней делать дальше. Перед запуском проверяем. . .
Модель здравоохранения 13. Добавление самой системы здравоохранения.
anaschu 22.05.2026
В предыдущем посте мы настроили болезни. Теперь добавим события, которые управляют здоровьем всего коллектива, а также настроим рабочий график и расчёт финансов. В Main создаём четыре события. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru