web-dev-qa-db-ja.com

ブーストlibファイルはどこにありますか?

ブーストを使用しています。 Sudo apt-get installを使用してインストールしました。これで、ファイルシステム上にブーストlibファイルが見つかりません。

Qtプロジェクトにlibのパスを含めたい。 greppingに時間がかかりすぎています:( /usr/include/boostにインクルードが見つかりました。しかし、ライブラリパスも知る必要があります。

21
Chani

これがあなたが探しているものかどうかはわかりませんが、おそらく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
14
phipsalabim

64ビットマシンを使用している場合は、おそらく/usr/lib/x86_64-linux-gnu/の下にファイルがあります。

このフォルダの目的の説明については、 this も参照してください。

34
kon psych

私にとって、boostのライブラリパスは/usr/lib64にあり、コードを適切にビルドするためにライブラリパスに追加する必要があるのはこれだけです。

また、ライブラリの場所が、コンピューターを構築する開発者のarbitrary意的な決定であった可能性もあります。また、私はUbuntuを使用していないことに注意してください。しかし、Linuxシステムはそれほど重要ではないほど十分に類似しています。私の解決策は誰にも役立たないかもしれません。

システムでlocateを使用できる場合は、boostを見つけるためにこれらを試してください。

locate boost | fgrep .so   #find lib files      (/usr/lib64 for me)
locate boost | fgrep .hpp  #find include files  (/usr/include for me)
2
Joshua Detwiler

libboost-devは、libboost1.46-dev(Ubuntu 12.04)またはlibboost1.49-dev(Ubuntu 12.10)に依存しています。どちらのパッケージも、/usr/share/boost-build/に多くのファイルをインストールします。たぶんそれはあなたが探しているものです。

1
Eric Carvalho

パッケージのすべてのインストール済みファイルと依存関係をリストするには、debfosterを使用します

Sudo apt-get install debfoster

そして、このようなスクリプト。この例では、パッケージ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)\
        }\
    }'

*.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($|\.)\"")\
        }\
    }'
0
A.B.