Di mana file lib boost saya?

21

Saya menggunakan boost. Saya menginstalnya menggunakan sudo apt-get install. Sekarang saya tidak dapat menemukan file lib boost di sistem file saya.

Saya ingin memasukkan jalur lib dalam proyek Qt saya. grepping terlalu lama :( Saya menemukan menyertakan /usr/include/boost. Tapi saya juga perlu tahu jalur perpustakaan.

Chani
sumber
1
sudo apt-get install ... apa?
Eric Carvalho
1
@EricCarvalholibboost-dev
Chani

Jawaban:

14

Saya tidak yakin apakah ini yang Anda cari, tetapi Anda mungkin ingin menginstalnya 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
sumber
34

Jika Anda menggunakan mesin 64bit maka Anda mungkin akan menemukan file di bawah /usr/lib/x86_64-linux-gnu/

Lihat juga ini untuk penjelasan untuk apa folder ini.

kon psik
sumber
2

Bagi saya, jalur pustaka boostsudah ada /usr/lib64, dan hanya itu yang harus saya tambahkan ke jalur pustaka agar kode dapat dibangun dengan benar.

Itu juga sangat mungkin bahwa lokasi perpustakaan adalah keputusan sewenang-wenang seorang dev membangun komputer saya. Juga perhatikan saya tidak menggunakan Ubuntu, tetapi sistem Linux cukup mirip sehingga tidak masalah. Solusi saya mungkin sama sekali tidak membantu siapa pun.

Jika locatetersedia untuk Anda di sistem Anda, maka coba ini untuk mencari 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
sumber
1

libboost-dev tergantung pada libboost1.46-dev (Ubuntu 12.04) atau libboost1.49-dev (Ubuntu 12.10). Kedua paket juga menginstal banyak file /usr/share/boost-build/. Mungkin itu yang Anda cari.

Eric Carvalho
sumber
0

Untuk mendaftar semua file yang diinstal untuk suatu paket dan dependensi, gunakan debfoster

sudo apt-get install debfoster

dan skrip seperti ini. Dalam contoh ini saya telah menggunakan paketlibboost-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)\
        }\
    }'

Untuk membuat daftar hanya *.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($|\.)\"")\
        }\
    }'
AB
sumber