Comment append le compilateur, y compris les chemins d’access et les chemins de bibliothèque de l’éditeur de liens pour Boost nouvellement installé?

J’ai RHEL 5.2, avec Boost 1.33 installé. J’ai téléchargé boost_1_44_0.tar.bz2. et construit. À la fin, il a montré:

The Boost C++ Libraries were successfully built! The following directory should be added to comstackr include paths: /home/dfe/Archive/boost_1_44_0 The following directory should be added to linker library paths: /home/dfe/Archive/boost_1_44_0/stage/lib 
  1. Comment append les chemins d’access mentionnés ci-dessus?
  2. Quand je fais “rpm -q boost”, cela montre boost-1.33.1-10.el5. Pourquoi est-ce vrai, lorsque j’ai installé la version 1.44?
  3. Existe-t-il un meilleur moyen d’installer la dernière version de Boost?

Tout d’abord, j’ai enlevé le boost rpm existant en utilisant

 rpm -e boost-1.33.1-10.el5 

Un message s’affiche indiquant “erreur:” boost “spécifie plusieurs paquets”

Alors essayé:

 rpm -e --allmatches boost 

(Je ne me souviens plus si j’ai tapé ‘boost’ ou ‘boost-1.33.1-10.el5’)

Les packages avec dépendances ont été affichés. J’ai fait:

 rpm -e [packagename1] rpm -e [packagename2] 

et ainsi de suite et ensuite fait:

 rpm -e --allmatches 

Ce boost effacé complètement de mon système.

Ensuite, j’ai extrait boost_1_44_0.tar.bz2 en utilisant tar -xvjf boost_1_44_0.tar.bz2 et lancé bootstrap avec:

 ./bootstrap.sh 

Alors couru bjam comme:

 ./bjam install 

C’est tout! Boost a été installé sur mon système et je n’ai pas eu à spécifier les options de l’éditeur de liens lors de la compilation des programmes! Yay! Maintenant, la commande ‘rpm -q boost’ montre qu’il n’y a pas de paquet installé.

une des raisons possibles est que vous ne faites que “faire” pas “faire installer”. donc vous devriez lancer “sudo ./b2 install” pas “./b2”

il y a toujours des étapes pour installer les logiciels dans les systèmes linux 1.configure “cochez” 2.make “le logiciel de compilation dans le répertoire courant” 3. installez “copiez les fichiers sur les systèmes pour que l’autre logiciel puisse utiliser ce logiciel”

le problème est que vous avez fait deux étapes et une dernière étape n’a pas fait

Vous devez inclure ces répertoires dans makefile que vous utiliseriez pour créer votre application

 CC -I/home/dfe/Archive/boost_1_44_0 -L/home/dfe/Archive/boost_1_44_0/stage/lib yourprogram.cpp 

-I option Ajoute dir à la liste des répertoires recherchés pour les fichiers #include.

L’option -L ajoute un répertoire à la liste des répertoires recherchés pour les bibliothèques par l’éditeur de liens

CC est compilateur de soleil …

Ajoutez simplement les chemins vers votre fichier .bashrc ou .profile (ou tout ce qui flotte sur votre bateau) comme ceci:

 export LIBS="-L/home/dfe/Archive/boost_1_44_0/stage/lib" export CPPFLAGS="-I/home/dfe/Archive/boost_1_44_0"