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.

Chani
la source
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
phipsalabim
la source
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.

kon psych
la source
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)
Joshua Detwiler
la source
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.

Eric Carvalho
la source
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($|\.)\"")\
        }\
    }'
UN B
la source