Где мой буст-файл lib?

21

Я использую повышение. Я установил его с помощью sudo apt-get install. Теперь я не могу найти мой файл lib lib в моей файловой системе.

Я хочу включить путь к lib в мой проект Qt. grepping занимает слишком много времени :( Я обнаружил, что включает в себя /usr/include/boost. Но мне также нужно знать путь к библиотеке.

Чани
источник
1
sudo apt-get установить ... что?
Эрик Карвалью,
1
@EricCarvalholibboost-dev
Чани

Ответы:

14

Я не уверен, что это то, что вы ищете, но вы, вероятно, хотите установить 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
источник
34

Если вы работаете на 64-битной машине, вы, вероятно, найдете файлы в /usr/lib/x86_64-linux-gnu/

Смотрите также это для объяснения того, для чего эта папка.

кон псих
источник
2

Для меня библиотека путь для boostбыл /usr/lib64, и это все , что я должен был добавить в мой путь к библиотеке для кода , чтобы построить должным образом.

Также вполне возможно, что расположение библиотеки было произвольным решением разработчика, создавшего мой компьютер. Также обратите внимание, что я не использую 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)
Джошуа Детвилер
источник
1

libboost-dev зависит от libboost1.46-dev (Ubuntu 12.04) или libboost1.49-dev (Ubuntu 12.10). Оба пакета также устанавливают много файлов в /usr/share/boost-build/. Может быть, это то, что вы ищете.

Эрик Карвалью
источник
0

Чтобы вывести список всех установленных файлов для пакета и зависимостей, используйте 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($|\.)\"")\
        }\
    }'
AB
источник