¿Dónde está mi archivo boost lib?

21

Estoy usando impulso. Lo instalé usando sudo apt-get install. Ahora no puedo encontrar mi archivo boost lib en mi sistema de archivos.

Quiero incluir la ruta de la lib en mi proyecto Qt. grepping está tardando demasiado :( Encontré el incluye en /usr/include/boost. Pero también necesito saber la ruta de la biblioteca.

Chani
fuente
1
sudo apt-get install ... ¿qué?
Eric Carvalho
1
@EricCarvalholibboost-dev
Chani

Respuestas:

14

No estoy seguro de si esto es lo que estás buscando, pero probablemente quieras instalarlo 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
fuente
34

Si está en una máquina de 64 bits, probablemente encontrará los archivos en /usr/lib/x86_64-linux-gnu/

Consulte también esto para obtener una explicación de para qué sirve esta carpeta.

kon psych
fuente
2

Para mí, la ruta de la biblioteca para boostestaba en /usr/lib64, y eso es todo lo que tuve que agregar a mi ruta de la biblioteca para que el código se construya correctamente.

También es completamente posible que la ubicación de la biblioteca fuera una decisión arbitraria de un desarrollador que construye mi computadora. También tenga en cuenta que no estoy usando Ubuntu, pero los sistemas Linux son lo suficientemente similares como para que no importe mucho. Es muy posible que mi solución no ayude a nadie en absoluto.

Si locateestá disponible para usted en su sistema, intente estos para localizar 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
fuente
1

libboost-dev depende de libboost1.46-dev (Ubuntu 12.04) o libboost1.49-dev (Ubuntu 12.10). Ambos paquetes también instalan muchos archivos /usr/share/boost-build/. Tal vez es lo que estás buscando.

Eric Carvalho
fuente
0

Para enumerar todos los archivos instalados para un paquete y las dependencias, use debfoster

sudo apt-get install debfoster

y un guión como este. En este ejemplo he usado el paquetelibboost-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)\
        }\
    }'

Para enumerar solo los *.soarchivos

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($|\.)\"")\
        }\
    }'
AB
fuente