Подключение boost к QtCreator


Подключение библиотеки TagLib в QTCreator на MacOS
Доброе время форумчане! Такая проблема, решил я поставить вот эту чудную библиотеку, покурив.
Подключение библиотеки boost
Покажите на пальцах как подключить эту библиотеку. скачал патч 1.55 над поставить на visual.

Подключение boost к Code::Blocks
Есть boost, есть Code::Blocks. Как прикрутить boost к Code::Blocks. Буду очень признателен за.
Boost — asio | Подключение к серверу ВКонтакте
Доброго времени суток! Хотелось бы узнать как можно подключится к серверу ВКонтакте средствами.
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
Помогаю со студенческими работами здесь
QtCreator
Не работают функции rand() и srand(). вот ругань QtCreator-а.
Не работает strcat в QtCreator
Всем привет. Написал класс для работы со строками в Визуал студио(в ней перегруженный оператор +.
Подключение библиотек в QtCreator
Как подключать библиотеки в QtCreator у которых вместо pro файла идет CMakeLists.txt? Сначала его.
qtcreator linux подключение
Добрый день: Пробовал подключить библиотеки в eclipse — всё ок. С qtcreator’ом какието проблемы.
Или воспользуйтесь поиском по форуму:
Подключение boost к qt creator
Доброго времени суток. Уже долго сижу, бьюсь над такой проблемой: собрал драйвера MongoDB и BSON из под компилятора от пятнадцатой вижуалки и даже заставил собираться под qt. Вот только для их работы необходим boost. Сначала пытался просто показать ему, где находятся хедеры. Не помогло. Собрал тем же компилятором, пытался подключить либу из папки system, как рекомендовали в соседнем топике. Не помогло. Пытался подключить все либы разом из «. /stage/lib». Не помогло. Идеи кончились. Файл .pro:
QT += core gui greaterThan(QT_MAJOR_VERSION, 4): QT += widgets TARGET = mngProj TEMPLATE = app SOURCES += main.cpp\ mainwindow.cpp HEADERS += mainwindow.h FORMS += mainwindow.ui #LIBS += -L$$PWD/../../../local/boost_1_59_0/stage/lib #LIBS += -L$$PWD/../../../local/boost_1_59_0/bin.v2/libs win32:CONFIG(release, debug|release): LIBS += -L$$PWD/mng_driver/lib/ -llibbsoncxx else:win32:CONFIG(debug, debug|release): LIBS += -L$$PWD/mng_driver/lib/ -llibbsoncxxd INCLUDEPATH += $$PWD/mng_driver/include/bsoncxx/v_noabi DEPENDPATH += $$PWD/mng_driver/include/bsoncxx/v_noabi INCLUDEPATH += $$PWD/mng_driver/include/mongocxx/v_noabi DEPENDPATH += $$PWD/mng_driver/include/mongocxx/v_noabi INCLUDEPATH += $$PWD/mng_driver/include/libbson-1.0 DEPENDPATH += $$PWD/mng_driver/include/libbson-1.0 INCLUDEPATH += $$PWD/mng_driver/include/libmongoc-1.0 DEPENDPATH += $$PWD/mng_driver/include/libmongoc-1.0 win32:CONFIG(release, debug|release): LIBS += -L$$PWD/../../../local/boost_1_59_0/bin.v2/libs/system/build/msvc-14.0/debug/link-static/threading-multi/ -llibboost_system-vc140-mt-gd-1_59 else:win32:CONFIG(debug, debug|release): LIBS += -L$$PWD/../../../local/boost_1_59_0/bin.v2/libs/system/build/msvc-14.0/debug/link-static/threading-multi/ -llibboost_system-vc140-mt-gd-1_59d INCLUDEPATH += $$PWD/../../../local/boost_1_59_0 DEPENDPATH += $$PWD/../../../local/boost_1_59_0 win32-g++:CONFIG(release, debug|release): PRE_TARGETDEPS += $$PWD/../../../local/boost_1_59_0/bin.v2/libs/system/build/msvc-14.0/debug/link-static/threading-multi/liblibboost_system-vc140-mt-gd-1_59.a else:win32-g++:CONFIG(debug, debug|release): PRE_TARGETDEPS += $$PWD/../../../local/boost_1_59_0/bin.v2/libs/system/build/msvc-14.0/debug/link-static/threading-multi/liblibboost_system-vc140-mt-gd-1_59d.a else:win32:!win32-g++:CONFIG(release, debug|release): PRE_TARGETDEPS += $$PWD/../../../local/boost_1_59_0/bin.v2/libs/system/build/msvc-14.0/debug/link-static/threading-multi/libboost_system-vc140-mt-gd-1_59.lib else:win32:!win32-g++:CONFIG(debug, debug|release): PRE_TARGETDEPS += $$PWD/../../../local/boost_1_59_0/bin.v2/libs/system/build/msvc-14.0/debug/link-static/threading-multi/libboost_system-vc140-mt-gd-1_59d.lib
E:\Projects\qt\mngProj\mng_driver\include\bsoncxx\v_noabi\bsoncxx\stdx\string_view.hpp:37: ошибка: C1083: Не удается открыть файл включение: boost/utility/string_ref.hpp: No such file or directory
Как подключить Boost к Qt Creator?
Нужно подключить библиотеку boost/asio к проекту (чистое консольное с++ приложение для практики) в qt creator.
Скачал исходники с сайта. Прочитал что asio не надо билдить и все находится в хидерах.
В гугле прочитал что достаточно добавить директорию в INCLUDEPATH += .
Добавил INCLUDEPATH += C:/WORK/boost_1_59_0 .
После этого в редакторе работает автодополнение в #include «boost/asio.hpp» .
Но при сборке выдает
C1083: Cannot open include file: 'boost/asio.hpp': No such file or directory
Запустил qmake — стало выводить
C1083: Cannot open include file: 'winsock2.h': No such file or directory

Это в одном из хидеров подключается другой хидер который он не может найти.
Подключил правильный комплект сборки.
Стало выдавать
LINK : fatal error LNK1104: cannot open file 'libboost_system-vc120-mt-gd-1_59.lib'
- Вопрос задан более трёх лет назад
- 8559 просмотров
Комментировать
Решения вопроса 1
Artem @JustSokol Автор вопроса
newby programmer
В общем все решилось тем что надо было правильно записать все в файл проекта (*.pro) и нажать qmake.
При этом хоть изначальная библиотека (asio) основана только на header`ах и имплементациях, но использует другие библиотеки Boost и соответственно подключает/включает их при подключении соответствующего .hpp .
То есть необходимо было собрать предварительно весь буст своим компилятором в либы, либо скачать уже готовые под винду с офф сайта .
В итоге в файл .pro добавляется
INCLUDEPATH += C:/WORK/boost_1_59_0 LIBS += "-LC:\WORK\boost_1_59_0\lib64-msvc-12.0"
жмется qmake и дальше все собирается.
ПС: получилось что сам спросил — сам ответил.
но надеюсь зато в следующий раз кто-то быстро найдет в поисковике проблему и увидит решение.
Qt/C++ — Урок 056. Подключение библиотеки Boost в Qt для компиляторов MinGW и MSVC
Первоначальное знакомство с Boost под Windows начну со сборки предкомпилированных библиотек и подключения их к проекту на Qt. При этом воспользуюсь кодом одного из Hello World-ов из документации Boost, а именно с установки locale с использованием boost.
Сборка Boost для MinGW
Вначале скачиваем последнюю версию Boost (на момент написания статьи это версия 1.61) и распаковываем архив в одну из папок. В моём случае архив был распакован по следующему пути:
D:\EVILEG\boost_1_61_0После чего открываем консоль и переходим в эту папку. В данной папке имеется батник bootstrap.bat для сборки инструмента bjam, который предназначен для управления компиляцией библиотек под целевой компилятор. Чтобы собрать данный инструмент для MinGW необходимо выполнить следующую команду:
bootstrap.bat gccПосле того, как инструмент будет собран выполняем сборку всех необходимых библиотек следующей командой:
b2 toolset=gcc link=shared --prefix=boost_mingw_530 install // ,где // toolset - это инструментарий, которым будут собираться библиотеки, // то есть тип компилятора, которым Вы будете собирать библиотеки // link - это тип библиотек, в данном случае shared - динамические // --prefix - папка куда будут скопированы заголовочные файлы и собранные библиотеки // в моём случае D:\EVILEG\boost_1_61_0\boost_mingw_530Далее можно заняться своими делами, поскольку процесс этот не быстрый.
Примечание
Отмечу, что выбор компилятора, которым будут собраны библиотеки будет определяться тем, какие переменные окружения прописаны в вашей ОС. То есть от того, какой путь прописан к компилятору g++ в переменной PATH. У меня от предыдущих версий Qt остались прописаны пути:
D:\Qt\5.6\mingw49_32\bin; D:\Qt\Tools\mingw490_32\bin;И соответственно на выходе я получил библиотеки для компилятора MinGW 4.9.2. Да, я не успел ещё удалить предыдущую версию Qt 5.6 с MinGW 4.9.2 . Надо ли говорить, что у меня проект под Qt5.7 с компилятором MinGW 5.3.0 отказался собираться? Так что после прописывания правильных путей удалось собрать нужные библиотеки:
D:\Qt\5.7\mingw53_32\bin; D:\Qt\Tools\mingw530_32\bin;Сборка Boost для MSVC
Процесс будет полностью аналогичен тому, что и для MinGW, но с небольшой разницей в командах.
bootstrap.bat vc12 // Пока использую MSVC 2013 Community b2 toolset=msvc-12.0 link=shared --prefix=boost_msvc installВ процессе сборки могут возникнуть некоторые ошибки, которые также обусловлены путями в переменных ОС. Например такая:
"cl" не является внутренней или внешней командой . и т.д.Лечится прописыванием путей к компилятору MSVC, например:
D:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin;Также могут возникнуть проблемы, что не будут находиться пути к заголовочным файлам стандартной библиотеки. Что будет выражено информацией в файле bootstrap.log :
### ### Using 'vc12' toolset. ### D:\EVILEG\boost_1_61_0\tools\build\src\engine>if exist bootstrap rd /S /Q bootstrap D:\EVILEG\boost_1_61_0\tools\build\src\engine>md bootstrap D:\EVILEG\boost_1_61_0\tools\build\src\engine>cl /nologo /RTC1 /Zi /MTd /Fobootstrap/ /Fdbootstrap/ -DNT -DYYDEBUG -wd4996 kernel32.lib advapi32.lib user32.lib /Febootstrap\jam0 command.c compile.c constants.c debug.c execcmd.c execnt.c filent.c frames.c function.c glob.c hash.c hdrmacro.c headers.c jam.c jambase.c jamgram.c lists.c make.c make1.c object.c option.c output.c parse.c pathnt.c pathsys.c regexp.c rules.c scan.c search.c subst.c timestamp.c variable.c modules.c strings.c filesys.c builtins.c md5.c class.c cwd.c w32_getreg.c native.c modules/set.c modules/path.c modules/regex.c modules/property-set.c modules/sequence.c modules/order.c command.c d:\evileg\boost_1_61_0\tools\build\src\engine\jam.h(71) : fatal error C1034: ctype.h: no include path set compile.c d:\evileg\boost_1_61_0\tools\build\src\engine\jam.h(71) : fatal error C1034: ctype.h: no include path set constants.c debug.c d:\evileg\boost_1_61_0\tools\build\src\engine\jam.h(71) : fatal error C1034: ctype.h: no include path set execcmd.c d:\evileg\boost_1_61_0\tools\build\src\engine\jam.h(71) : fatal error C1034: ctype.h: no include path set execnt.c d:\evileg\boost_1_61_0\tools\build\src\engine\jam.h(71) : fatal error C1034: ctype.h: no include path set filent.c d:\evileg\boost_1_61_0\tools\build\src\engine\jam.h(71) : fatal error C1034: ctype.h: no include path set frames.c d:\evileg\boost_1_61_0\tools\build\src\engine\jam.h(71) : fatal error C1034: ctype.h: no include path set function.c d:\evileg\boost_1_61_0\tools\build\src\engine\jam.h(71) : fatal error C1034: ctype.h: no include path set glob.c d:\evileg\boost_1_61_0\tools\build\src\engine\jam.h(71) : fatal error C1034: ctype.h: no include path set hash.cТоже потребуется некоторое шаманство с путями, либо даже переустановка MSVC, либо можно пойти по наиболее простому пути, который сэкономит нервные клетки, и просто скачать предкомпилированные библиотеки с сайта Boost-а.
Подключение Boost к Qt проекту
- QtBoostHello.pro
- main.cpp
QtBoostHello.pro
В зависимости от компилятора, осуществляем подключение необходимых заголовочных файлов и библиотек:
- INCLUDEPATH - подключаем заголовочные файлы
- LIBS - подключаем библиотеки
QT += core QT -= gui CONFIG += c++11 TARGET = QtBoostHello CONFIG += console CONFIG -= app_bundle TEMPLATE = app win32-g++ < INCLUDEPATH += D:/EVILEG/boost_1_61_0/boost_mingw_530/include/boost-1_61 LIBS += -LD:/EVILEG/boost_1_61_0/boost_mingw_530/lib -llibboost_locale-mgw53-mt-1_61 >else:win32-msvc* < INCLUDEPATH += D:/EVILEG/boost_1_61_0/boost_msvc_2012/include/boost-1_61 LIBS += -LD:/EVILEG/boost_1_61_0/boost_msvc_2012/lib -lboost_locale-vc120-mt-1_61 >SOURCES += main.cppmain.cpp
В функции main присутствует один из классов из библиотеки Boost - это generator. Глубоко копать не будем, нам же нужно просто запустить проект. Отметим лишь то, что он используется для установки локали, как видно из кода.
Также, для этого класса используется динамическая библиотека. Но не для всего функционала необходимы библиотеки, часть Boost - это шаблонные функции, которые полностью определены в заголовочных файлах.
#include #include using namespace boost::locale; using namespace std; int main(int argc, char *argv[]) < QCoreApplication a(argc, argv); generator gen; locale loc=gen("en_US.UTF-8"); locale::global(loc); // Make it system global cout.imbue(loc); // Set as default locale for output cout <
at we had run our first localization example") % time(0) На выходе получим результат, как на изображении ниже. Если поиграетесь с определением локали, то есть вместо "en_US.UTF-8" пропишите "ru_RU.UTF-8", то заметите, что дата и время поменяют формат, впрочем, как и валюта.
Рекомендуем хостинг TIMEWEB
Стабильный хостинг, на котором располагается социальная сеть EVILEG. Для проектов на Django рекомендуем VDS хостинг.
Рекомендуемые статьи по этой тематике
- Boost - статическая линковка в CMake проекте под Windows
- Boost - Меню консольной программы с использованием boost::program_options
- Qt/C++ - Урок 083. Создание динамической библиотеки и подключение её в другой проект
- Qt WinAPI - Урок 004. QtIFW - Автоматизация WinDeployQt и сборки инсталляторов с Qt Installer Framework
- Qt WinAPI - Урок 003. Использование windeployqt для сбора DLL
- Qt WinAPI - Урок 002. Как сделать win инсталлятор для Qt-приложения?
По статье задано0 вопрос(ов)
Подписка на обсуждение 5
Подписка на раздел 345
Вам это нравится? Поделитесь в социальных сетях!

