Onde está o meu arquivo lib de impulso?

21

Eu estou usando impulso. Eu instalei usando sudo apt-get install. Agora não consigo encontrar meu arquivo boost lib no meu sistema de arquivos.

Quero incluir o caminho da lib no meu projeto Qt. O grepping está demorando muito :( Encontrei as inclusões /usr/include/boost. Mas também preciso conhecer o caminho da biblioteca.

Chani
fonte
1
sudo apt-get install ... o que?
Eric Carvalho
1
@EricCarvalholibboost-dev
Chani

Respostas:

14

Não tenho certeza se é isso que você está procurando, mas você provavelmente deseja instalar 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
fonte
34

Se você estiver em uma máquina de 64 bits, provavelmente encontrará os arquivos em /usr/lib/x86_64-linux-gnu/

Veja também isso para obter uma explicação sobre o que é esta pasta.

kon psych
fonte
2

Para mim, o caminho da biblioteca boostestava em /usr/lib64, e era tudo o que tinha que adicionar ao caminho da biblioteca para que o código fosse criado corretamente.

Também é perfeitamente possível que a localização da biblioteca tenha sido uma decisão arbitrária de um desenvolvedor construindo meu computador. Observe também que não estou usando o Ubuntu, mas os sistemas Linux são semelhantes o suficiente para que não importem muito. Minha solução pode muito bem não ajudar ninguém.

Se locateestiver disponível para você no seu sistema, tente estes 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
fonte
1

O libboost-dev depende do libboost1.46-dev (Ubuntu 12.04) ou libboost1.49-dev (Ubuntu 12.10). Ambos os pacotes também instalam muitos arquivos no /usr/share/boost-build/. Talvez seja o que você está procurando.

Eric Carvalho
fonte
0

Para listar todos os arquivos instalados para um pacote e as dependências, use debfoster

sudo apt-get install debfoster

e um script como este. Neste exemplo eu usei o pacotelibboost-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 listar apenas os *.soarquivos

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
fonte