Dov'è il mio file boost lib?


21

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

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


1
sudo apt-get install ... cosa?
Eric Carvalho,

1
@EricCarvalholibboost-dev
Chani

Risposte:


14

Non sono sicuro se questo è quello che stai cercando, ma probabilmente vuoi installarlo 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

Se sei su un computer a 64 bit, probabilmente troverai i file in /usr/lib/x86_64-linux-gnu/

Vedi anche questo per una spiegazione a cosa serve questa cartella.


2

Per me, il percorso della libreria per boostera in /usr/lib64, ed è tutto ciò che dovevo aggiungere al percorso della mia libreria affinché il codice si costruisse correttamente.

È anche del tutto possibile che la posizione della biblioteca sia stata una decisione arbitraria di uno sviluppatore che costruisce il mio computer. Nota anche che non sto usando Ubuntu, ma i sistemi Linux sono abbastanza simili da non importare molto. La mia soluzione potrebbe benissimo non aiutare nessuno.

Se locateè disponibile sul tuo sistema, prova questi per individuare 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 dipende da libboost1.46-dev (Ubuntu 12.04) o libboost1.49-dev (Ubuntu 12.10). Entrambi i pacchetti installano anche molti file /usr/share/boost-build/. Forse è quello che stai cercando.


0

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

sudo apt-get install debfoster

e una sceneggiatura come questa. In questo esempio ho usato il pacchettolibboost-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 *.sofile

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($|\.)\"")\
        }\
    }'
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.