2013-03-07 1 views
2

Я почти ничего не знаю о Linux или C++.«src/common.hpp: 52: 32: фатальная ошибка: boost/shared_ptr.hpp: нет такого файла или каталога» при создании websocket ++

Я обычно выполнял эти инструкции, чтобы увеличить форсирование на ubuntu 12.10 http://piyushparkash.blogspot.com/2012/10/installing-boost-150-in-ubuntu-1210.html. Я скачал 1.53.0.

Я последовал совету в конце 1.2.2 и сделал ./bootstrap.sh --exec-prefix=/usr/local, потому что мне нужны все библиотеки.

Я получаю эту ошибку src/common.hpp:52:32: fatal error: boost/shared_ptr.hpp: No such file or directory когда я make изложен здесь https://github.com/zaphoyd/websocketpp/wiki/Build-Library.

Когда я find/-name 'shared_ptr.hpp', он перечисляет

/root/boost_1_53_0/boost/asio/detail/shared_ptr.hpp /root/boost_1_53_0/boost/interprocess/smart_ptr/shared_ptr.hpp /root/boost_1_53_0/boost/smart_ptr/shared_ptr.hpp /root/boost_1_53_0/boost/serialization/shared_ptr.hpp /root/boost_1_53_0/boost/shared_ptr.hpp

Если не они были установлены по умолчанию, и указаны каталоги, как описано в первом звене?

Как устранить эту ошибку?

(я сделал это, чтобы получить "все" LIBS https://askubuntu.com/questions/259590/libapache2-mod-fastcgi-not-available)

apt-cache libboost-all-dev

1,49

apt-cache search boost | grep dev

libboost-date-time-dev - set of date-time libraries based on generic programming concepts (default version) 
libboost-date-time1.49-dev - set of date-time libraries based on generic programming concepts 
libboost-dev - Boost C++ Libraries development files (default version) 
libboost-iostreams-dev - Boost.Iostreams Library development files (default version) 
libboost-iostreams1.49-dev - Boost.Iostreams Library development files 
libboost-program-options-dev - program options library for C++ (default version) 
libboost-program-options1.49-dev - program options library for C++ 
libboost-python-dev - Boost.Python Library development files (default version) 
libboost-python1.49-dev - Boost.Python Library development files 
libboost-regex-dev - regular expression library for C++ (default version) 
libboost-regex1.49-dev - regular expression library for C++ 
libboost-serialization-dev - serialization library for C++ (default version) 
libboost-serialization1.49-dev - serialization library for C++ 
libboost-test-dev - components for writing and executing test suites (default version) 
libboost-test1.49-dev - components for writing and executing test suites 
libboost1.49-dev - Boost C++ Libraries development files 
libasio-dev - cross-platform C++ library for network programming 
libboost-all-dev - Boost C++ Libraries development files (ALL) (default version) 
libboost-chrono-dev - C++ representation of time duration, time point, and clocks (default version) 
libboost-chrono1.49-dev - C++ representation of time duration, time point, and clocks 
libboost-chrono1.50-dev - C++ representation of time duration, time point, and clocks 
libboost-date-time1.50-dev - set of date-time libraries based on generic programming concepts 
libboost-exception1.50-dev - set of date-time libraries based on generic programming concepts 
libboost-filesystem-dev - filesystem operations (portable paths, iteration over directories, etc) in C++ (default version) 
libboost-filesystem1.49-dev - filesystem operations (portable paths, iteration over directories, etc) in C++ 
libboost-filesystem1.50-dev - filesystem operations (portable paths, iteration over directories, etc) in C++ 
libboost-graph-dev - generic graph components and algorithms in C++ (default version) 
libboost-graph-parallel-dev - generic graph components and algorithms in C++ (default version) 
libboost-graph-parallel1.49-dev - generic graph components and algorithms in C++ 
libboost-graph-parallel1.50-dev - generic graph components and algorithms in C++ 
libboost-graph1.49-dev - generic graph components and algorithms in C++ 
libboost-graph1.50-dev - generic graph components and algorithms in C++ 
libboost-iostreams1.50-dev - Boost.Iostreams Library development files 
libboost-locale-dev - C++ facilities for localization (default version) 
libboost-locale1.49-dev - C++ facilities for localization 
libboost-locale1.50-dev - C++ facilities for localization 
libboost-math-dev - Boost.Math Library development files (default version) 
libboost-math1.49-dev - Boost.Math Library development files 
libboost-math1.50-dev - Boost.Math Library development files 
libboost-mpi-dev - C++ interface to the Message Passing Interface (MPI) (default version) 
libboost-mpi-python-dev - C++ interface to the Message Passing Interface (MPI), Python Bindings (default version) 
libboost-mpi-python1.49-dev - C++ interface to the Message Passing Interface (MPI), Python Bindings 
libboost-mpi-python1.50-dev - C++ interface to the Message Passing Interface (MPI), Python Bindings 
libboost-mpi1.49-dev - C++ interface to the Message Passing Interface (MPI) 
libboost-mpi1.50-dev - C++ interface to the Message Passing Interface (MPI) 
libboost-program-options1.50-dev - program options library for C++ 
libboost-python1.50-dev - Boost.Python Library development files 
libboost-random-dev - Boost Random Number Library (default version) 
libboost-random1.49-dev - Boost Random Number Library 
libboost-random1.50-dev - Boost Random Number Library 
libboost-regex1.50-dev - regular expression library for C++ 
libboost-serialization1.50-dev - serialization library for C++ 
libboost-signals-dev - managed signals and slots library for C++ (default version) 
libboost-signals1.49-dev - managed signals and slots library for C++ 
libboost-signals1.50-dev - managed signals and slots library for C++ 
libboost-system-dev - Operating system (e.g. diagnostics support) library (default version) 
libboost-system1.49-dev - Operating system (e.g. diagnostics support) library 
libboost-system1.50-dev - Operating system (e.g. diagnostics support) library 
libboost-test1.50-dev - components for writing and executing test suites 
libboost-thread-dev - portable C++ multi-threading (default version) 
libboost-thread1.49-dev - portable C++ multi-threading 
libboost-thread1.50-dev - portable C++ multi-threading 
libboost-timer-dev - C++ wall clock and CPU process timers (default version) 
libboost-timer1.49-dev - C++ wall clock and CPU process timers 
libboost-timer1.50-dev - C++ wall clock and CPU process timers 
libboost-wave-dev - C99/C++ preprocessor library (default version) 
libboost-wave1.49-dev - C99/C++ preprocessor library 
libboost-wave1.50-dev - C99/C++ preprocessor library 
libboost1.49-all-dev - Boost C++ Libraries development files (ALL) 
libboost1.50-all-dev - Boost C++ Libraries development files (ALL) 
libboost1.50-dev - Boost C++ Libraries development files 
libjson-spirit-dev - C++ JSON Parser/Generator implemented with Boost Spirit 
libmapnik-dev - C++/Python toolkit for developing GIS applications (dummy) 
libmapnik2-2.0 - C++/Python toolkit for developing GIS applications (libraries) 
libmapnik2-dev - C++/Python toolkit for developing GIS applications (devel) 
libpion-common-dev - lightweight HTTP interface library - common development files 
libpion-net-dev - lightweight HTTP interface library - development files 
libroot-tmva-dev - Toolkit for multivariate data analysis - development files 
libtorch3-dev - State of the art machine learning library - development files 
mapnik-doc - C++/Python toolkit for developing GIS applications (doc) 
mapnik-utils - C++/Python toolkit for developing GIS applications (utilities) 
python-mapnik2 - C++/Python toolkit for developing GIS applications (Python) 
+1

Похоже, что все, что вы делали, это настроить boost, с помощью 'bootstrap.sh', вы действительно создали его с помощью' b2', а затем установите его с помощью 'sudo ./b2 install'? Кроме того, не создавайте как «root», делайте все как обычный непривилегированный пользователь, а затем просто устанавливайте «root» с помощью 'sudo'. Люди, которые говорят «Я почти ничего не знаю о Linux» и делаю все как «root» очень быстро, создают беспорядок своей системы. –

+0

@JonathanWakely. Ты поймал меня. Я просто понял, что не следил за всеми шагами. Это просто сервер-разработчик прямо сейчас. Я переустановил дистрибутив много, много раз LOL. Зачем устанавливать как root с 'sudo', регистрируясь как обычный пользователь? – 2013-03-07 13:59:58

+1

Поскольку вы с меньшей вероятностью нарушаете вашу систему, если используете только «root», чтобы делать то, что _must_ должно выполняться как «root». Компиляция кода не обязательно должна выполняться как «root», поэтому не делайте этого. Построение бит программного обеспечения, загружаемого из Интернета как «root», просто глупо, даже для «доверенных» вещей, таких как Boost, потому что это создает плохую привычку. –

ответ

4

Я бы посоветовал убедиться, что пользовательское место, которое вы установили boost, находится в пути включения системы сборки.

Для WebSocket ++ 0.2.x построения системы вы можете установить BOOST_PREFIX (т.е./USR/местные /) или точные пути к включают и Lib директории, если у вас нету установлены их общесистемные переменные BOOST_LIB_PATH/BOOST_INCLUDE_PATH среды для определения пользовательских путей , Для 0.3.x нет библиотеки для сборки, просто убедитесь, что вы используете -I/path/to/your/boost и -L/path/to/your/boost/lib/dir или добавьте эти пути в свой глобальный путь. Если вы используете среду IDE, у них обычно есть способы добавить пользовательские пути include/library.

+0

Еще раз спасибо за помощь! – 2013-03-07 15:05:06

4

Зачем строить Повысьте себя? Просто сделайте sudo apt-get install boost-devel, и все готово. И он поместит заголовки в /usr/include/boost, так что все будет «просто работать».

+0

Спасибо, что посмотрели! Это последняя версия? Создатель предложил этот метод полностью использовать свои лакомства http://askubuntu.com/a/264700/128334 – 2013-03-07 04:32:01

+0

Запустите «apt-cache show boost-devel», и вы можете сообщить нам, какую версию предлагает ваша система. –

+0

В любом случае, какая бы версия она ни была, попробуйте и посмотрите, работает ли она. Ubuntu 12.10 очень недавно, поэтому Boost, который он предлагает, не будет древним. –