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

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

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

21
задан 3 March 2013 в 19:01

5 ответов

Я не уверен, что это то, что вы ищете, но вы, вероятно, хотите установить 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
0
ответ дан 3 March 2013 в 19:01

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

0
ответ дан 3 March 2013 в 19:01

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

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

0
ответ дан 3 March 2013 в 19:01

Для меня путь к библиотеке для 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)
0
ответ дан 3 March 2013 в 19:01

Чтобы вывести список всех установленных файлов для пакета и зависимостей, используйте 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
ответ дан 3 March 2013 в 19:01

Другие вопросы по тегам:

Похожие вопросы: