И снова установка boost
Если указывать компилятору путь к каждой библиотеке, то все норм, но это ни разу не хорошо. Что нужно сделать (еще/по-другому), чтобы при компиляции можно было писать, например -lboost_thread или -lboost_system?
Пардон за такой УГ вопрос, но блин, пока проблемы с основами.
Burns
22.08.12 09:51:24 MSK
← 1 2 →

А что за дистрибутив? В deb apt-get install libboost-dev ; или я не понял что ты хочешь.
Если указывать компилятору путь к каждой библиотеке
z00ke ☆
( 22.08.12 09:55:54 MSK )

-L/path/to/your/boost/lib добавь к флагам g++.
Или поставь бустовые либы из репозитория дистрибутива, если версии позволят.
Norgat ★★★★★
( 22.08.12 10:00:00 MSK )
Последнее исправление: Norgat 22.08.12 10:00:58 MSK (всего исправлений: 2)

А почему бы не попробовать поставить Boost через пакетный менеджер? Или у тебя Slackware?
theNamelessOne ★★★★★
( 22.08.12 10:00:46 MSK )
Ответ на: комментарий от z00ke 22.08.12 09:55:54 MSK
ненене. рассматривается случай, когда интернета нет на ОС. Имеется только скаченный архив.
Указывать путь, чтобы скомпилировать с этой библиотекой, по другому, просто в свойсвах -lboost_. не удается. В том то и вопрос, как сделать по-людски?
Burns
( 22.08.12 10:02:44 MSK ) автор топика

Перед -lboost_thread и -lboost_system можно дописать -L/home/ara/Загрузки/boost-1.51
quiet_readonly ★★★★
( 22.08.12 10:02:58 MSK )
Ответ на: комментарий от quiet_readonly 22.08.12 10:02:58 MSK
Указывал путь к либам, к инклудам при компиляции, в одном из hpp вылетело миллион ошибок (видимо библиотек не видит). Теперь обнаружился еще один интересный факт.
сделал у себя в корне, где правильно установлен boost,
find ./ -name «libboost*»
в папке usr/lib64 они все найдены.
На ОС, в которую пытаюсь поставить, та же команда выводит количество библиотек раза в два меньше и нужных мне boost_thread там нет. Что в данной ситуации cделать?
Burns
( 22.08.12 10:38:31 MSK ) автор топика
Ответ на: комментарий от Burns 22.08.12 10:38:31 MSK

Проще линковать твою мсвежесобранную дирректорию lib через -L, я так делал когда версия из репов не подходила (в проекте была свежее): собрал нужную версию. Потом g++ -L/. /lib -lboost. xxx.cpp
blokant ★★
( 22.08.12 10:59:42 MSK )
Ответ на: комментарий от blokant 22.08.12 10:59:42 MSK
Данный совет я учел. Остался вопрос, почему созданы не все библиотеки? Неужели в версии 1.51 решили их сократить? Нет. может просто на ту ОС не компилятся (она принципиально старая, новую установить пока нельзя), но блин. какая же разница то. Попробую установить в виртуалку, если будет все норм, будет очень печально в плане использования буста
Burns
( 22.08.12 11:18:09 MSK ) автор топика
Ответ на: комментарий от Burns 22.08.12 11:18:09 MSK
да! именно так. в той ОС тупо не собирается куча библиотек. Переформулируем вопрос
Используется gcc 3.2.1. Очень хочется воспользоваться boost::thread. Каким образом?
Burns
( 22.08.12 12:08:22 MSK ) автор топика
boost зло, особенно в опенсорс программах. если мне попадается программа использующая буст, которую надо самостоятельно собрать — я просто прерываю сборку, и удаляю это говно нахрен. не надо его использовать, сделай людям добро. пиши лучше сразу на любом языке высокого уровня, там сразу есть все что надо в средствах языка, и компилить ничего не надо.
waker ★★★★★
( 22.08.12 12:17:07 MSK )
Ответ на: комментарий от Burns 22.08.12 12:08:22 MSK

Используется gcc 3.2.1. Очень хочется воспользоваться boost::thread. Каким образом?
Современный буст не скомпилируется таким старым компилятором, а при попытке подключения «продвинутых» хидеров почти наверняка появяся ошибки. Использовать готовую бинарную версию, скорее всего, также не получится из-за разных используемых libstdc++ (поменялась в gcc-3.4). Так что либо ты обновляешь компилятор, либо всю систему. Настоятельно рекомендую второй вариант.
red_eyed_peguin ★
( 22.08.12 12:22:48 MSK )

хз что не так
там вроде все написано что и как
собирал для винды, линуха, андроида и айос проблем особых вроде не было
Boy_from_Jungle ★★★★
( 22.08.12 13:07:36 MSK )
Ответ на: комментарий от waker 22.08.12 12:17:07 MSK

Фанатик. Чем тебе буст не угодил?
Dudraug ★★★★★
( 22.08.12 13:42:08 MSK )
Ответ на: комментарий от red_eyed_peguin 22.08.12 12:22:48 MSK

Наверное еще есть вариант использовать старую версию буста.
Dudraug ★★★★★
( 22.08.12 13:42:46 MSK )
Ответ на: комментарий от Dudraug 22.08.12 13:42:08 MSK
фанатик чего? буста чтоли? не угодил тем, что сборка простейшего приложения из 20 cpp файлов укладывает 4-ядерный xeon на лопатки, что даже мышь не двигается, и компиляет полчаса.
waker ★★★★★
( 22.08.12 13:48:59 MSK )
Ответ на: комментарий от waker 22.08.12 13:48:59 MSK

Два ядра этому разработчику.
red_eyed_peguin ★
( 22.08.12 13:51:20 MSK )
Ответ на: комментарий от waker 22.08.12 13:48:59 MSK

Это проблема не буста, а разработчиков. Ну во-первых весь буст никто тащить не заставляет, есть bcp. Во-вторых большая часть буста это хидер-онли.
Так что это скорее показатель быдло-кодеров, а не проблем буста.
Dudraug ★★★★★
( 22.08.12 13:54:51 MSK )
Ответ на: комментарий от waker 22.08.12 13:48:59 MSK

И да, то что даже мышь не двигается — это проблема ЛИНУКСА. Это ваш 12309 любимый. На винде буст целиком даже на более медленных машинах собирается почти незаметно для пользователя.
Dudraug ★★★★★
( 22.08.12 14:04:03 MSK )
Ответ на: комментарий от Dudraug 22.08.12 14:04:03 MSK

На винде буст целиком даже на более медленных машинах собирается почти незаметно для пользователя.
я его теперь качаю уже собранный) чтобы не собирать усе
Boy_from_Jungle ★★★★
( 22.08.12 14:21:33 MSK )
Ответ на: комментарий от Dudraug 22.08.12 14:04:03 MSK

Я загнал 12309 в самый темный угол системы, какой только нашелся. Его почти не видно. Как я этого добился, спросите вы? Да просто поставил 12-поточный 6-головый процессор, 24 гектара рамы и SSD. Но и при этом он нет-нет да и вылезет раз в месяц.
pekmop1024 ★★★★★
( 22.08.12 14:28:09 MSK )
Ответ на: комментарий от Dudraug 22.08.12 14:04:03 MSK
т.е. предлагаете перейти на венду?
waker ★★★★★
( 22.08.12 14:47:05 MSK )
Ответ на: комментарий от Dudraug 22.08.12 14:04:03 MSK
и кстати, речь шла не о сборке буста, а о сборке приложений использующих буст. сам буст был установлен из репов.
waker ★★★★★
( 22.08.12 14:48:35 MSK )
Ответ на: комментарий от waker 22.08.12 14:48:35 MSK
Да, это проблемы линуха. В венде параллельная сборка софта использующего буст тоже серьезно ест ресурсы, однако при этом на машине можно работать.
Reset ★★★★★
( 22.08.12 15:04:55 MSK )
Ответ на: комментарий от Burns 22.08.12 12:08:22 MSK
1. используй нормальную систему сборки (cmake)
2. ставь буст в хомовик
Reset ★★★★★
( 22.08.12 15:05:26 MSK )
Ответ на: комментарий от waker 22.08.12 14:47:05 MSK

Т.е. я предлагаю не обвинять хороший инструмент в говенности. В твоих тормозах он не виноват.
Dudraug ★★★★★
( 22.08.12 15:31:03 MSK )
Ответ на: комментарий от waker 22.08.12 14:48:35 MSK

и кстати, речь шла не о сборке буста, а о сборке приложений использующих буст. сам буст был установлен из репов.
Лечи систему. У тебя что-то точно не так. Не может проект на 20 cpp собираться на 4 ядернике 20 минут. Не может. Хотя может сам проект так написан. Что там мега закрученные шаблоны, которые создаются из мега-закрученных макросов. Но это опять проблема кодеров, а не буста.
Dudraug ★★★★★
( 22.08.12 15:33:06 MSK )
Ответ на: комментарий от Dudraug 22.08.12 15:33:06 MSK

Имеется в виду если буст уже собран.
Dudraug ★★★★★
( 22.08.12 15:33:52 MSK )
Ответ на: комментарий от Dudraug 22.08.12 15:33:06 MSK

У меня вот тут на реальном проекте с использованием gSoap генерируется файл gSoap.c или SoapStub.c, не помню точно, так вот он 11мб весит. Мало того, что этот файлик пару минут компилится, так еще и роняет сборку с компилятором на виртуалке с 512мб оперативки. Так что нечего винить буст.
Dudraug ★★★★★
( 22.08.12 15:36:05 MSK )
Ответ на: комментарий от Dudraug 22.08.12 15:31:03 MSK
Т.е. я предлагаю не обвинять хороший инструмент в говенности. В твоих тормозах он не виноват.
насчет того, что он хороший, и что тормоза мои — можно поспорить.
waker ★★★★★
( 22.08.12 15:41:35 MSK )
Ответ на: комментарий от waker 22.08.12 15:41:35 MSK

насчет того, что он хороший, и что тормоза мои — можно поспорить.
Ситуация когда при сборке система вешается, что даже мышкой пошевелить нормальна? Нет! И в этом виноват не буст.
Dudraug ★★★★★
( 22.08.12 15:46:15 MSK )
Ответ на: комментарий от Dudraug 22.08.12 15:33:06 MSK
я это делаю путем избегания приложений использующих буст. система здорова.
У тебя что-то точно не так. Не может проект на 20 cpp собираться на 4 ядернике 20 минут.
я мог немного преувеличить. но ты можешь попробовать сам — возьми, к примеру, qbittorrent, и посмотри сколько и как он будет собираться. и будет ли тормозить при этом система. мне пришлось прервать просмотр фильма во время сборки. но в итоге окончания сборки не дождался все равно.
Не может. Хотя может сам проект так написан. Что там мега закрученные шаблоны, которые создаются из мега-закрученных макросов. Но это опять проблема кодеров, а не буста.
буст способствует именно таким практикам в программировании. куча шаблонов, которые тормозят компиляцию в десятки и сотни раз. так что он и есть прямая причина быдлокода.
waker ★★★★★
( 22.08.12 15:46:44 MSK )
Ответ на: комментарий от Dudraug 22.08.12 15:36:05 MSK
У меня вот тут на реальном проекте с использованием gSoap генерируется файл gSoap.c или SoapStub.c, не помню точно, так вот он 11мб весит. Мало того, что этот файлик пару минут компилится, так еще и роняет сборку с компилятором на виртуалке с 512мб оперативки. Так что нечего винить буст.
ну так почувствуй разницу — у тебя сишный файл 11 мб компилится 2 минуты, а в qbittorrent мелкие cpp файлы компилятся столько же.
waker ★★★★★
( 22.08.12 15:47:52 MSK )
Ответ на: комментарий от Dudraug 22.08.12 15:46:15 MSK
Ситуация когда при сборке система вешается, что даже мышкой пошевелить нормальна? Нет! И в этом виноват не буст.
да, тут уже выше сказали несколько раз что виноват 12309. а решается это, как я понимаю, переходом на венду. хотелось бы заметить, что сборка значительно более крупных сишных проектов с -j8 не тормозит систему. но ты наверное и сам это знаешь, а сюда пришел просто побаттхертить.
waker ★★★★★
( 22.08.12 15:50:08 MSK )
Ответ на: комментарий от waker 22.08.12 15:46:44 MSK

я это делаю путем избегания приложений использующих буст. система здорова.
facepalm.jpg Линуксойды совсем упоротые пошли. А собранное приложение тоже тормозит с бустом? Или ты кайф от сборки получаешь?
Dudraug ★★★★★
( 22.08.12 16:02:06 MSK )
Ответ на: комментарий от waker 22.08.12 15:50:08 MSK

что сборка значительно более крупных сишных проектов с -j8 не тормозит систему
Значит диск меньше дергается.
Dudraug ★★★★★
( 22.08.12 16:02:55 MSK )
Ответ на: комментарий от waker 22.08.12 15:46:44 MSK

которые тормозят компиляцию в десятки и сотни раз.
Домашняя машина вообще слабопредназначена для компиляции же. Зачем компилировать на домашней машине?
Dudraug ★★★★★
( 22.08.12 16:04:28 MSK )
Ответ на: комментарий от waker 22.08.12 15:47:52 MSK

ну так почувствуй разницу — у тебя сишный файл 11 мб компилится 2 минуты
Так потому что возможно мелкий файл разворачивается на большой. Очевидно же.
Dudraug ★★★★★
( 22.08.12 16:05:31 MSK )
Ответ на: комментарий от Dudraug 22.08.12 16:02:06 MSK
А собранное приложение тоже тормозит с бустом? Или ты кайф от сборки получаешь?
я ж писал, я как только вижу что сборка слишком долгая — просто прерываю, а прогу удаляю. не могу узнать тормозит ли само приложение.
Зачем компилировать на домашней машине?
у меня домашняя машина — dell precision p690 (рабочая станция). я программист, и дома тоже работаю над хобби-проектами. в данном конкретном случае, компилировать затем, что линуксоиды-разработчики почему-то собирают бинарные сборки своего софта только под винду и макось, а для линукса отдают только исходники. когда хочется попробовать свежую версию проги — остается только компилять.
Так потому что возможно мелкий файл разворачивается на большой. Очевидно же.
это как-то решает проблему тормозной сборки проектов использующих буст? нет? ну и о чем спорить тогда?
waker ★★★★★
( 22.08.12 16:19:42 MSK )
Ответ на: комментарий от waker 22.08.12 16:19:42 MSK

когда хочется попробовать свежую версию проги — остается только компилять
Ну значит надо терпеть, такое не очень часто бывает, чтобы нужная софтина, да на бусте, да новая версия. Можно и потерпеть маленько. Ну или тупо ставить все из репозиториев своего дистра и пофиг на новизну. Частая компиляция на домашней машине попахивает. красноглазием и ФГМом.
Dudraug ★★★★★
( 22.08.12 16:23:35 MSK )
Ответ на: комментарий от waker 22.08.12 16:19:42 MSK

Я правда у себя использую винду, ибо сырость и багованность линуха меня достала уже.
Dudraug ★★★★★
( 22.08.12 16:24:08 MSK )
Ответ на: комментарий от waker 22.08.12 16:19:42 MSK

Просто ты как программист должен хорошо понимать, что для кросс-платформенного программирования на Си++ (если без qt и подобного), то буст по сути единственный годный инструмент. Не говоря уже о том, что его хидер-онли компоненты еще и чертовски полезны.
Dudraug ★★★★★
( 22.08.12 16:27:44 MSK )
Ответ на: комментарий от Dudraug 22.08.12 16:23:35 MSK
Ну значит надо терпеть, такое не очень часто бывает, чтобы нужная софтина, да на бусте, да новая версия. Можно и потерпеть маленько.
что именно терпеть? софтина оказалась ненужной, именно из-за буста.
Ну или тупо ставить все из репозиториев своего дистра и пофиг на новизну.
предыдущую версию уже видел, хотел посмотреть именно новую версию.
Частая компиляция на домашней машине попахивает. красноглазием и ФГМом.
я свои проекты компилирую часто, чужие мож пару раз в месяц приходится. это часто или нет?
Я правда у себя использую винду, ибо сырость и багованность линуха меня достала уже.
так с этого и надо было начинать.
Просто ты как программист должен хорошо понимать, что для кросс-платформенного программирования на Си++ (если без qt и подобного), то буст по сути единственный годный инструмент. Не говоря уже о том, что его хидер-онли компоненты еще и чертовски полезны.
у меня насчет C++ вообще и буста в частности несколько другое мнение. на работе занимаюсь разработкой игр под 3 основные платформы, на C++. буст и qt не используем, и прекрасно себя чувствуем.
p.s. тут наверное стоит уточнить.. если бы использовали буст или qt — проекты скорее всего вообще не взлетели. я про говнявость буст не на ровном месте заговорил в первом сообщении.
waker ★★★★★
( 22.08.12 16:34:35 MSK )
Последнее исправление: waker 22.08.12 16:37:53 MSK (всего исправлений: 1)
Ответ на: комментарий от waker 22.08.12 16:34:35 MSK

что именно терпеть? софтина оказалась ненужной, именно из-за буста.
То есть она тебе нужна была, чтобы собрать ее?=))) Обычно людям софтины нужны, чтобы ими пользоваться, а не что бы их компилять.
предыдущую версию уже видел, хотел посмотреть именно новую версию.
Еще раз — раз хочешь новую версию глянуть, то можно и потерпеть пока комилится. Сходить попить чаю например, или погулять. Еще раз. Задача пересборки софта для домашнего ПО, тем более ПО с использованием буста не есть регулярная задача, один раз в полгода можно и потерпеть 20 минут.
я свои проекты компилирую часто, чужие мож пару раз в месяц приходится. это часто или нет?
Ну так это уже разработка,а тут придется мириться. Можешь использовать для разработки FreeBSD говорят там нет 12309. Ну или купить себе слабенький б.у. комп для сборки софта. С 12309 рано или поздно ты и без буста поимеешь проблем с ним.
у меня насчет C++ вообще и буста в частности несколько другое мнение. на работе занимаюсь разработкой игр под 3 основные платформы, на C++.
А что используете? Просто интересно.
Dudraug ★★★★★
( 22.08.12 16:39:22 MSK )
Ответ на: комментарий от Dudraug 22.08.12 16:39:22 MSK
То есть она тебе нужна была, чтобы собрать ее?=))) Обычно людям софтины нужны, чтобы ими пользоваться, а не что бы их компилять.
есть другие торрент клиенты. раньше использовал utorrent, но он с недавних пор чего-то стал глюкавый в свежих версиях wine, поэтому пришлось искать замену. остановился на transmission-gtk. есть косяки, в связи с переходом на gtk3 появились дополнительные проблемы, но в целом работает удовлетворительно. если за неделю не выявлю существенных косяков — мож даже попробую допиливать то чего не хватает.
Еще раз — раз хочешь новую версию глянуть, то можно и потерпеть пока комилится.
я хотел в это время смотреть кино. но комп стал невменяемо тормозить. я ж писал 🙂
Сходить попить чаю например, или погулять.
как раз только пришел с прогулки, уже покурил, и допил чай.
один раз в полгода можно и потерпеть 20 минут.
а можно и не терпеть.
Можешь использовать для разработки FreeBSD говорят там нет 12309.
уже пробовал. не понравилось. у меня и в линухе все ок.
Ну или купить себе слабенький б.у. комп для сборки софта. С 12309 рано или поздно ты и без буста поимеешь проблем с ним.
у меня и так дома 2 десктопа, 2 ноута и нетбук. куда еще?
смотря для чего. не думаю, что мы вообще применяем классы аналогичные бустовским. вместо контейнеров stl есть свои велосипеды с правильным управлением памятью и оптимизацией под целевые платформы.
waker ★★★★★
( 22.08.12 16:46:34 MSK )
Ответ на: комментарий от waker 22.08.12 16:46:34 MSK

Ну хотя бы сокеты и треды. Не будем брать контейнеры пока. еще в бусте неплохой сериализатор, но не факт, что в игродеве оно надо.
Dudraug ★★★★★
( 22.08.12 17:09:28 MSK )
Ответ на: комментарий от Dudraug 22.08.12 17:09:28 MSK
для сокетов, тредов, сериализаторов свои велосипеды. я вообще сомневаюсь, что в бусте есть поддержка тредов и сокетов xbox360 и ps3. они конечно похожи на вендовые и линуховые, соотв, но отличия есть.
Как установить 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 в системе?
Если вы хотите выяснить это вручную (а не в коде), перейдите в каталог include и откройте version.hpp. BOOST_VERSION требует немного расшифровки, но BOOST_LIB_VERSION довольно понятен. «1_42» стоимость в настоящее время «1_42»
T.E.D. 14 сен. 2010, в 12:44
В linux использование «ldd yourprogramname» часто показывает, какая версия boost была связана с вашей программой (которая может указывать на отличие от заголовка, хотя вряд ли она будет другой).
Homer6 21 авг. 2013, в 21:36
Также в Linux, dpkg -S /usr/include/boost/version.hpp
Efreeto 29 апр. 2016, в 17:13
Вы можете быстро найти текущее значение, например, с помощью echo -e ‘#include
maxschlepzig 22 июль 2017, в 14:07
Показать ещё 2 комментария
Протестировано с повышением 1.51.0:
std::cout
Выход: использование Boost 1.51.0
Протестировано с повышающими версиями 1.51.0 до 1.65.0
Vertexwahn 26 окт. 2012, в 10:45
Поделиться
работает также с Boost 1.52.0
Vertexwahn 21 дек. 2012, в 02:53
работает также с надстройкой 1.53.0
Vertexwahn 06 март 2013, в 18:41
работает также с Boost 1.54.0
Vertexwahn 30 сен. 2013, в 11:44
работает также с Boost 1.56.0
Vertexwahn 15 окт. 2014, в 09:21
работает также с надстройкой 1.57.0
Vertexwahn 05 нояб. 2014, в 00:05
Ólafur Waage 15 июль 2015, в 00:48
какая преданность, сэр @Vertexwahn
Vishal Sharma 16 июль 2015, в 07:30
работает также с бустом 1.58.0 и 1.59.0
Vertexwahn 19 нояб. 2015, в 14:04
Чтобы сломать полосу @Vertexwahn Работает также с 1.60.0 и 1.61.0 .
m8mble 07 июль 2016, в 11:48
работает также с Boost 1.62.0
Vertexwahn 26 нояб. 2016, в 10:14
@Vertexwahn Vertexwahn Они должны нанять вас для любых изменений релиза.
PascalVKooten 27 дек. 2016, в 23:48
работает также с надстройкой 1.63.0
Vertexwahn 11 янв. 2017, в 16:03
Почему бы вам просто не обновить свой ответ чем-то вроде: «Работает со всеми версиями Boost (проверенная версия 1.51 до 1.63)». - вместо переполнения раздела комментариев .
maxschlepzig 22 июль 2017, в 14:00
@maxschlepzig Хорошая мысль!
Vertexwahn 22 июль 2017, в 18:27
Показать ещё 12 комментариев
Если вам нужна только информация для вашей собственной информации, просто загляните в /usr/include/boost/version.hpp(Ubuntu 13.10) и непосредственно прочитайте информацию
user1245262 11 фев. 2014, в 01:08
Поделиться
#include #include #include int main() < std::coutОбновление: ответ был исправлен.
hkaiser 14 сен. 2010, в 13:00 Поделиться Почему бы просто: std::cout << "Boost version: " << BOOST_LIB_VERSION; ? T.E.D. 14 сен. 2010, в 12:46При выполнении этого кода выдается «Boost version: 0.199.60», а версия TED выдает «Boost version: 1_48»
Homer6 21 авг. 2013, в 21:20Это не работает Зачем кому-то это голосовать? Кто-нибудь на самом деле запустить этот код и получил полезный вывод? Я думаю, что люди видят «гекс» и считают, что это должно быть правильно.
JDiMatteo 09 окт. 2014, в 22:24 Ответ Vertexwahn заключается в том, как документы говорят использовать BOOST_VERSION paulm 09 янв. 2015, в 20:35 Это не правильно. Версия Boost хранится в десятичном, а не шестиугольном виде. Maciek D. 30 окт. 2015, в 09:30 НЕ ИСПОЛЬЗОВАТЬ. Это неправильно и просто потратило впустую мое время. wonton 18 фев. 2016, в 21:33 Я исправил ответ, теперь он работает правильно. hkaiser 18 фев. 2016, в 21:51 За исключением того, что теперь это то же самое, что и другой ответ . eis 12 май 2016, в 13:53 Показать ещё 6 комментариевВ зависимости от того, как вы установили boost и какую ОС вы работаете, вы также можете попробовать следующее:
dpkg -s libboost-dev | grep 'Version'P-M 27 фев. 2017, в 15:37
ПоделитьсяBoost, установленный на OS X с использованием homebrew, имеет желаемый version.hpp файл в /usr/local/Cellar/boost//include/boost/version.hpp (обратите внимание, что версия уже упоминается в пути).
Я думаю, что самым быстрым способом определения версии в любой UNIX-подобной системе будет поиск boost в /usr :
find /usr -name "boost"
Kamil S Jaron 14 окт. 2016, в 14:05
ПоделитьсяЕщё вопросы
- 0 HTML с использованием DIV и таблицы
- 1 Как исправить зависание сборки PhoneGap .apk?
- 0 Сделайте, чтобы переменная PHP была распознана
- 1 PDFBox символов плохие символы в разговоре PDF в строку
- 0 Как я могу заполнить массив в datagridview?
- 1 Регулярное выражение JavaScript игнорирует исключение регистра (недопустимая группа)
- 0 как искать часть строки, а не все
- 0 Можно ли избежать только внешних подключений к моему xdebug с помощью Ngnix и PHPStorm?
- 1 Расширение Facebook токена
- 1 Характер. Объяснение белого пространства
- 1 MOXy XmlNameTransformer для нескольких пакетов
- 0 Хороший материал 4 Learning Mysql Workbench
- 0 .get List из метода контроллера и отображения
- 0 Два объекта, кажется, имеют один и тот же адрес
- 1 Python не может найти это сгруппированное имя
- 1 перестановки определенных цифр в Java
- 1 Java: байт [1] против байта [1024]
- 0 PHP-скрипт для записи в базу данных SQL
- 0 Отличная условная блокировка в 2-х функциях
- 0 DateTime :: createFromFormat перестал работать
- 0 Почему мой простой код jQuery не работает с методом .css ()?
- 0 AngularJS, $ cookieStore.put не является функцией
- 0 Как получить атрибуты внутри тега в узле с SimpleXML в PHP
- 1 Хранение данных датчика и дамп файла событий на Android
- 0 Ошибки включения Android NDK с помощью cURL
- 1 C # EventViewer Количество EventID
- 1 Python DataFrame - выбор строк данных на основе значений в другом кадре данных
- 1 Arduino мигает светодиод на нажатой кнопке приложения c #
- 1 Обязательны ли определения типов для пакетов npm только на компьютере разработчика?
- 1 как динамически добавлять данные в datatable (Gridview)
- 0 Как получить данные из двух таблиц со строками в виде столбцов? (динамический пивот в MySQL)
- 1 Неверный тип операнда для бинарного оператора
- 1 Как получить трансляцию ACTION_POWER_CONNECTED на Android 8
- 1 видео не воспроизводится на Android (Chrome) и iOS (Safari)
- 0 Инициировать событие jQuery (bPopup) для выбранного значения раскрывающегося списка.
- 0 Обновить div с JSF 2.0
- 1 Как установить высоту штрих-кода как 25 мм
- 1 Java-приложение, которое конвертирует CSV в JSON
- 0 Сохраните данные JSON в текстовый файл и прочитайте его
- 0 Qt QML MenuBar и меню не отображаются
- 0 SELECTS выбирает только один элемент
- 1 поле ввода события Pygame
- 1 Узел JS Как отправить изображение вместе с запросом данных на другой сервер / API
- 0 JQuery выбрать следующий брат по классу с одним классом, который содержит несколько классов
- 1 IEEE 754 с плавающей запятой - почему это работает?
- 0 Получить innerHTML из динамически добавленного тега скрипта
- 1 Сбой сборки при использовании AppsFlyer с ProGuard
- 1 Калитка 6 Установите флажок CheckGroup по умолчанию не отмечен
- 0 значения не отображаются с помощью угловой директивы
- 1 Этап сокращения MongoDB не работает должным образом
How can I find Boost version?
I just want to know how I can find the version of boost installed in my ubuntu 12.04? I am having trouble with the current precise and thinking of reverting back to 8.04. What is the boost version in 8.04?
67.2k 31 31 gold badges 178 178 silver badges 265 265 bronze badges
asked Jun 6, 2012 at 20:41
481 1 1 gold badge 4 4 silver badges 3 3 bronze badges
What specific error are you having? You may find help for it at stackoverflow.com
Jun 7, 2012 at 1:29
3 Answers 3
The version of libboost on my 12.04 system is 1.48.0.2. Here's how you can find out:
dpkg -s libboost-dev | grep 'Version'
answered Jun 6, 2012 at 21:23
Jorge Castro Jorge Castro
71.1k 124 124 gold badges 466 466 silver badges 653 653 bronze badges
This method work only if you installed it properly. If you install the boost manually, you will get something like: dpkg-query: package 'libboost-dev' is not installed and no information is available Use dpkg --info (= dpkg-deb --info) to examine archive files, and dpkg --contents (= dpkg-deb --contents) to list their contents.
Feb 18, 2020 at 0:07
You can check version.hpp inside Boost include dir (normally /usr/include/boost , you can use locate /boost/version.hpp or similar to get that) for BOOST_VERSION or BOOST_LIB_VERSION .
$ cat /usr/include/boost/version.hpp | grep "BOOST_LIB_VERSION" // BOOST_LIB_VERSION must be defined to be the same as BOOST_VERSION #define BOOST_LIB_VERSION "1_53"
answered Jul 10, 2013 at 18:33
463 5 5 silver badges 9 9 bronze badges
Also check /usr/local/include/boost/version.hpp . I found a higher version of boost there. 1_62 vs 1_58