2010-09-14 18 views

Respuesta

77

Boost Informational Macros. Es necesario: BOOST_VERSION

+68

Si desea resolverlo manualmente (en lugar de dentro del código), vaya al directorio de inclusión y abra version.hpp. 'BOOST_VERSION' toma un poco de descifrado, pero' BOOST_LIB_VERSION' es bastante claro. El valor mío es actualmente '" 1_42 "' –

+4

En Linux, el uso de "ldd yourprogramname" a menudo le mostrará qué versión de refuerzo estaba vinculada a su programa (que tiene la posibilidad de indicar una diferencia con el encabezado, aunque es poco probable que sé diferente). – Homer6

+7

También en 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; 
} 

Actualización: la respuesta ha sido fijada.

+24

¿Por qué no simplemente: 'std :: cout <<" Versión de refuerzo: "<< BOOST_LIB_VERSION;'? –

+6

Ejecutando este código con la versión "Boost: 0.199.60", mientras que la versión de T.E.D. publicó "Boost version: 1_48" – Homer6

+5

Esto no funciona. ¿Por qué alguien votaría esto? ¿Alguien realmente ha ejecutado este código y obtenido resultados útiles? Supongo que las personas ven "hex" y creen que debe ser correcto. – JDiMatteo

58

probado con impulso 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; 

Salida: El uso de Boost 1.51.0

Probado con las versiones impulsar 1.51.0 a 1.65.0

+10

funciona también con boost 1.52.0 – Vertexwahn

+10

funciona también con boost 1.53.0 – Vertexwahn

+11

funciona también con impulso 1.54.0 – Vertexwahn

41

Si sólo necesita saber para su propia información, solo busque en /usr/include/boost/version.hpp (Ubuntu 13.10) y lea la información directamente

1

Boost instalado en OS X usando homebrew ha deseadoArchivoen /usr/local/Cellar/boost/<version>/include/boost/version.hpp (tenga en cuenta que la versión ya se menciona en la ruta).

supongo que la forma más rápida para determinar la versión en cualquier sistema UNIX, que será la de buscar boost en /usr:

find /usr -name "boost"

6

Dependiendo de cómo se haya instalado impulso y qué sistema operativo que está ejecutando también podría intentar lo siguiente:

dpkg -s libboost-dev | grep 'Version' 
Cuestiones relacionadas