Où est mon fichier lib boost?


21

J'utilise boost. Je l'ai installé en utilisant sudo apt-get install. Maintenant, je n'arrive pas à trouver mon fichier boost lib sur mon système de fichiers.

Je veux inclure le chemin de la lib dans mon projet Qt. grepping prend trop de temps :( J'ai trouvé les inclusions /usr/include/boost. Mais j'ai aussi besoin de connaître le chemin de la bibliothèque.


1
sudo apt-get install ... quoi?
Eric Carvalho

1
@EricCarvalholibboost-dev
Chani

Réponses:


14

Je ne sais pas si c'est ce que vous recherchez, mais vous souhaitez probablement l'installer libboost-all-dev.

$ ls /usr/lib/libboost*.so

/usr/lib/libboost_date_time-mt.so
/usr/lib/libboost_date_time.so
/usr/lib/libboost_filesystem-mt.so
/usr/lib/libboost_filesystem.so
/usr/lib/libboost_graph-mt.so
/usr/lib/libboost_graph_parallel-mt.so
/usr/lib/libboost_graph_parallel.so
/usr/lib/libboost_graph.so
/usr/lib/libboost_iostreams-mt.so
/usr/lib/libboost_iostreams.so
/usr/lib/libboost_math_c99f-mt.so
/usr/lib/libboost_math_c99f.so
/usr/lib/libboost_math_c99l-mt.so
/usr/lib/libboost_math_c99l.so
/usr/lib/libboost_math_c99-mt.so
/usr/lib/libboost_math_c99.so
/usr/lib/libboost_math_tr1f-mt.so
/usr/lib/libboost_math_tr1f.so
/usr/lib/libboost_math_tr1l-mt.so
/usr/lib/libboost_math_tr1l.so
/usr/lib/libboost_math_tr1-mt.so
/usr/lib/libboost_math_tr1.so
/usr/lib/libboost_mpi-mt.so
/usr/lib/libboost_mpi.so
/usr/lib/libboost_prg_exec_monitor-mt.so
/usr/lib/libboost_prg_exec_monitor.so
/usr/lib/libboost_program_options-mt.so
/usr/lib/libboost_program_options.so
/usr/lib/libboost_python-mt-py27.so
/usr/lib/libboost_python-mt-py32.so
/usr/lib/libboost_python-py27.so
/usr/lib/libboost_python-py32.so
/usr/lib/libboost_python.so
/usr/lib/libboost_regex-mt.so
/usr/lib/libboost_regex.so
/usr/lib/libboost_serialization-mt.so
/usr/lib/libboost_serialization.so
/usr/lib/libboost_signals-mt.so
/usr/lib/libboost_signals.so
/usr/lib/libboost_system-mt.so
/usr/lib/libboost_system.so
/usr/lib/libboost_thread-mt.so
/usr/lib/libboost_thread.so
/usr/lib/libboost_unit_test_framework-mt.so
/usr/lib/libboost_unit_test_framework.so
/usr/lib/libboost_wave-mt.so
/usr/lib/libboost_wave.so
/usr/lib/libboost_wserialization-mt.so
/usr/lib/libboost_wserialization.so

34

Si vous êtes sur une machine 64 bits, vous trouverez probablement les fichiers sous /usr/lib/x86_64-linux-gnu/

Voir également ceci pour une explication de la fonction de ce dossier.


2

Pour moi, le chemin de la bibliothèque de boostétait dans /usr/lib64, et c'est tout ce que j'avais à ajouter à mon chemin de bibliothèque pour que le code se construise correctement.

Il est également tout à fait possible que l'emplacement de la bibliothèque soit une décision arbitraire d'un développeur construisant mon ordinateur. Notez également que je n'utilise pas Ubuntu, mais les systèmes Linux sont suffisamment similaires pour que cela n'ait pas beaucoup d'importance. Ma solution pourrait très bien n'aider personne du tout.

Si locatevous êtes disponible sur votre système, essayez-les pour localiser boost:

locate boost | fgrep .so   #find lib files      (/usr/lib64 for me)
locate boost | fgrep .hpp  #find include files  (/usr/include for me)

1

libboost-dev dépend de libboost1.46-dev (Ubuntu 12.04) ou libboost1.49-dev (Ubuntu 12.10). Les deux packages installent également un grand nombre de fichiers dans /usr/share/boost-build/. C'est peut-être ce que vous cherchez.


0

Pour répertorier tous les fichiers installés pour un package et les dépendances, utilisez debfoster

sudo apt-get install debfoster

et un script comme celui-ci. Dans cet exemple, j'ai utilisé le packagelibboost-all-dev

debfoster -d libboost-all-dev |\
    awk '! /depends on/ {\
        for(i=1;i<=NF;i++) {\
            printf "\n>>> %s \n",$i; system("dpkg -L "$i)\
        }\
    }'

Pour répertorier uniquement les *.sofichiers

debfoster -d  libboost-all-dev |\
    awk '! /depends on/ {\
        for(i=1;i<=NF;i++) {\
            printf "\n>>> %s \n",$i; system("dpkg -L "$i" | grep -P \".so($|\.)\"")\
        }\
    }'
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.