回答:
情報マクロを後押しします。必要なもの:BOOST_VERSION
dpkg -S /usr/include/boost/version.hpp
echo -e '#include <boost/version.hpp>\nBOOST_VERSION' | gcc -x c++ -E -
たとえば、Fedora 26:106300(つまり1.63)で現在の値をすばやく調べることができます
ブースト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 <boost/version.hpp>
#include <iostream>
#include <iomanip>
int main()
{
std::cout << "Boost version: "
<< BOOST_VERSION / 100000
<< "."
<< BOOST_VERSION / 100 % 1000
<< "."
<< BOOST_VERSION % 100
<< std::endl;
return 0;
}
更新:答えが修正されました。
std::cout << "Boost version: " << BOOST_LIB_VERSION;
ですか?
私に関しては、最初にそれができます(version.hppを見つけるには、バージョン変数がそこにあります(それがどこにあるかがわかっている場合(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.
私の場合、システムに2つのバージョンブーストがインストールされています。以下のように出力します。
xy@xy:~$ 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
xy@xy:~$ 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
xy@xy:~$ 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"
ローカルにインストールされているバージョンを表示:
xy@xy:~$ 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"
私はbashのブーストバージョン番号を見つけるために奮闘しました。
結局、バージョンコードを変数に格納し、エラーを抑制して、以下を実行することになりました。これは、受け入れられた回答のコメントにmaxschlepzigの例を使用しています。(コメントできません、50人の担当者がいません)
私はこれがずっと前に答えられたことを知っています。しかし、どこでもbashでそれを行う方法を見つけることができませんでした。だから私はこれが同じ問題を持つ誰かを助けるかもしれないと思った。また、これは、コンパイラーがブーストを見つけられる限り、ブーストがどこにインストールされていても機能します。また、複数のバージョンがインストールされている場合に、コンパイラーが実際に使用するバージョン番号が表示されます。
{
VERS=$(echo -e '#include <boost/version.hpp>\nBOOST_VERSION' | gcc -s -x c++ -E - | grep "^[^#;]")
} &> /dev/null
現在のブーストバージョンを取得する別の方法(Linux Ubuntu):
~$ dpkg -s libboost-dev | grep Version
Version: 1.58.0.1ubuntu1
参照:https : //www.osetc.com/en/how-to-install-boost-on-ubuntu-16-04-18-04-linux.html
すでに回答されている可能性がありますが、この簡単なプログラムを試して、ブーストのインストールの有無とインストールを確認できます。
#include<boost/version.hpp>
#include<iostream>
using namespace std;
int main()
{
cout<<BOOST_VERSION<<endl;
return 0;
}
BOOST_VERSION
少し解読しますが、BOOST_LIB_VERSION
かなり明確です。私の価値は現在"1_42"