Dove si trova il file boost lib?

18

Sto usando boost. L'ho installato con sudo apt-get install . Ora non riesco a trovare il file boost lib sul mio filesystem.

Voglio includere il percorso della lib nel mio progetto Qt. grepping sta impiegando troppo tempo :( Ho trovato gli include in /usr/include/boost . Ma ho anche bisogno di conoscere il percorso della libreria.

    
posta Chani 03.03.2013 - 15:50

5 risposte

13

Non sono sicuro se questo è ciò che stai cercando, ma probabilmente vorrai installare 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
    
risposta data phipsalabim 03.03.2013 - 17:22
25

Se sei su una macchina a 64 bit, probabilmente lo farai trova i file sotto /usr/lib/x86_64-linux-gnu/

Vedi anche questo per una spiegazione di ciò che questo la cartella è per.

    
risposta data kon psych 17.01.2015 - 05:30
1

libboost-dev dipende da libboost1.46-dev (Ubuntu 12.04) o libboost1.49-dev (Ubuntu 12.10). Entrambi i pacchetti installano anche molti file in /usr/share/boost-build/ . Forse è quello che stai cercando.

    
risposta data Eric Carvalho 03.03.2013 - 16:18
1

Per me, il percorso della libreria per boost era in /usr/lib64 , e questo è tutto ciò che dovevo aggiungere al mio percorso della libreria affinché il codice fosse compilato correttamente.

È anche possibile che la posizione della biblioteca fosse una decisione arbitraria di un dev che costruisce il mio computer. Nota anche che non sto usando Ubuntu, ma i sistemi Linux sono abbastanza simili da non avere molta importanza. La mia soluzione potrebbe benissimo non aiutare nessuno.

Se locate è disponibile per te sul tuo sistema, prova questi per localizzare boost :

locate boost | fgrep .so   #find lib files      (/usr/lib64 for me)
locate boost | fgrep .hpp  #find include files  (/usr/include for me)
    
risposta data Josh Detwiler 30.05.2017 - 19:00
0

Per elencare tutti i file installati per un pacchetto e le dipendenze, usa debfoster

sudo apt-get install debfoster

e uno script come questo. In questo esempio ho usato il pacchetto libboost-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)\
        }\
    }'

Per elencare solo i file *.so

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($|\.)\"")\
        }\
    }'
    
risposta data A.B. 11.08.2015 - 09:02

Leggi altre domande sui tag