Как определить версию Boost в системе?

Есть ли быстрый способ определить версию библиотек Boost C ++ в системе?

Повысьте информационные macros . Вам нужно: BOOST_VERSION

Протестировано с повышением 1.51.0:

 std::cout << "Using Boost " << BOOST_VERSION / 100000 << "." // major version << BOOST_VERSION / 100 % 1000 << "." // minor version << BOOST_VERSION % 100 // patch level << std::endl; 

Выход: использование Boost 1.51.0

Протестировано с форсированными версиями 1.51.0 до 1.65.0

Если вам нужна только информация для вашей собственной информации, просто загляните в /usr/include/boost/version.hpp (Ubuntu 13.10) и сразу прочитайте информацию

 #include  #include  #include  int main() { std::cout << "Boost version: " << BOOST_VERSION / 100000 << "." << BOOST_VERSION / 100 % 1000 << "." << BOOST_VERSION % 100 << std::endl; return 0; } 

Обновление: ответ был исправлен.

В зависимости от того, как вы установили boost и какую ОС вы работаете, вы также можете попробовать следующее:

 dpkg -s libboost-dev | grep 'Version' 

Boost, установленный на OS X с использованием homebrew, имеет желаемый файл version.hpp в /usr/local/Cellar/boost//include/boost/version.hpp (обратите внимание, что версия уже упоминается в пути).

Я думаю, что самый быстрый способ определить версию в любой UNIX-подобной системе будет искать boost в /usr :

find /usr -name "boost"

Возможно, уже ответили, но вы можете попробовать эту простую программу, чтобы определить, есть ли и какая установка повышения:

 #include #include using namespace std; int main() { cout< 

Что касается меня, вы можете сначала (найдите версию.hpp, в которой находится переменная version, если вы знаете, где она находится (в ubuntu она обычно находится в /usr/include/boost/version.hpp по умолчанию)):

  locate `boost/version.hpp` 

Второе шоу это версия:

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

или

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

Что касается меня, у меня есть две версии boost, установленные в моей системе. Вывод:

 [email protected]:~$ 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 [email protected]:~$ 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 [email protected]:~$ 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" 

Показать локальную установленную версию:

 [email protected]:~$ 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" 
  • Правильный способ проверки версии Java из сценария BASH
  • Как программно получить версию DLL или EXE-файла?
  • Есть ли с_fileglob, который работает удаленно в недоступном?
  • Как найти версию JVM из программы?
  • Как назначить результат предыдущего выражения переменной?
  • Ansible ", когда переменная == true" не ведет себя так, как ожидалось
  • Как определить версию приложения в одном месте для нескольких приложений?
  • Сценарий PowerShell для возврата версий .NET Framework на машину?
  • Ошибка browser.msie после обновления до jQuery 1.9.1
  • Неподдерживаемая версия major.minor 52.0
  • java.lang.UnsupportedClassVersionError: неверный номер версии в .class файле?
  • Давайте будем гением компьютера.