web-dev-qa-db-fra.com

Installer boost dans / usr / include

J'essaie d'installer boost dans le dossier /usr/include.

J'ai essayé Sudo apt-get install libboost-dev, mais la version la plus élevée que apt-get fournit est 1.58 au lieu de la plus récente, 1.61.

Puis j'ai téléchargé le binaire de boost de sourceforge et les ai compilés avec

Sudo ./bootstrap.sh
Sudo ./b2

La bibliothèque a été compilée avec succès, mais aucun fichier n'a été écrit dans /usr/include. Cet article suggère que --prefix[directory] ne soit pas utilisé car toute la bibliothèque sera installée dans [directory].

J'attends qu'une partie de la bibliothèque soit installée dans /usr/include et une partie dans /usr/lib. Les documentations doivent être situées dans /usr/share.

2
Henricus V.

En fait, vous manquez quelques étapes ...

Tout d’abord, 1.58 convient aux autres logiciels de votre version d’Ubuntu. En effet, si vous développez quelque chose vous-même, il peut être judicieux d’avoir ce dernier en date.

Ce que vous avez téléchargé depuis sourceforge ne devrait pas être le "binaire boost". Ce devrait être tout le code source. Les étapes que vous avez décrites configureraient les fichiers de configuration de la construction et effectueraient la construction, mais vous devrez ensuite l’installer.

Voir ces instructions http://www.boost.org/doc/libs/1_61_0/more/getting_started/unix-variants.html .

Vous manquez cette instruction:

Sudo ./b2 install

Néanmoins, vous devriez lire tout cela. Vous devez porter une attention particulière au point "En-tête uniquement". Seules certaines bibliothèques doivent être construites.

De plus, il n’est pas tout à fait correct de ne pas le mettre dans /usr/include. C'est bien si vous le faites - vous devrez juste être sûr de l'inclure dans la recherche de répertoire dans votre ligne de compilation. Le mettre dans /usr/include facilite grandement les choses. (--prefix est une option utile si vous n'avez pas accès à Sudo sur l'ordinateur)

PS: n'oubliez pas de définir la variable d'environnement BOOST_ROOT!

2
Ray