2010-09-14 10 views

Répondre

77

Boost Informational Macros. Vous avez besoin: BOOST_VERSION

+68

Si vous souhaitez le comprendre manuellement (plutôt que dans le code), accédez au répertoire include et ouvrez version.hpp. 'BOOST_VERSION' prend un peu de déchiffrement, mais' BOOST_LIB_VERSION' est assez clair. La valeur de la mienne est actuellement '" 1_42 "' –

+4

Dans linux, utiliser "ldd yourprogramname" vous montrera souvent quelle version de boost a été liée à votre programme (qui a la possibilité d'indiquer une différence par rapport à l'en-tête, sois différent). – Homer6

+7

Toujours sous linux, 'dpkg -S/usr/include/boost/version.hpp' – Efreeto

37
#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; 
} 

Mise à jour: la réponse a été corrigé.

+24

Pourquoi pas simplement: 'std :: cout <<" Boost version: "<< BOOST_LIB_VERSION;'? –

+6

L'exécution de ce code a produit "Boost version: 0.199.60" alors que la version de T.E.D. sortie "Boost version: 1_48" – Homer6

+5

Cela ne fonctionne pas. Pourquoi quelqu'un aurait-il changé cela? Est-ce que quelqu'un a réellement exécuté ce code et a obtenu une sortie utile? Je suppose que les gens voient "hex" et comprennent qu'il doit être correct. – JDiMatteo

58

testé avec boost 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; 

Sortie: Utilisation Boost 1.51.0

Testé avec les versions Boost 1.51.0 à 1.65.0

+10

fonctionne aussi avec boost 1.52.0 – Vertexwahn

+10

fonctionne aussi avec boost 1.53.0 – Vertexwahn

+11

fonctionne aussi avec boost 1.54.0 – Vertexwahn

41

Si vous avez seulement besoin de savoir pour votre propre information, il suffit de regarder /usr/include/boost/version.hpp (Ubuntu 13.10) et lire directement les informations

1

Boost installé sur OS X en utilisant homebrew a désiré version.hpp fichier dans /usr/local/Cellar/boost/<version>/include/boost/version.hpp (note, que la version est déjà mentionné dans le chemin).

je suppose que le meilleur moyen de déterminer la version sur tout système de type UNIX sera de rechercher boost dans /usr:

find /usr -name "boost"

6

Selon la façon dont vous avez installé coup de pouce et quel OS vous vous en cours d'exécution Vous pouvez également essayer ce qui suit:

dpkg -s libboost-dev | grep 'Version' 
Questions connexes