2013-03-07 1 views
2

Linux 나 C++에 관해서는 알지 못합니다.websocket을 빌드 할 때 "src/common.hpp : 52 : 32 : 치명적인 오류 : boost/shared_ptr.hpp : 파일이나 디렉토리가 없습니다."

나는 일반적으로 우분투 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을 수행했다.

make 여기에 설명 된 src/common.hpp:52:32: fatal error: boost/shared_ptr.hpp: No such file or directoryhttps://github.com/zaphoyd/websocketpp/wiki/Build-Library 때 나는이 오류가 발생합니다.

I 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

그들이 디렉토리를 기본으로 설치하고 지정되지 않았을해야 나열?

어떻게이 오류를 해결할 수 있습니까?

는 (I이 "모든"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

'bootstrap.sh'와 함께 구성 설정을 향상시킨 것처럼 보였습니다. 실제로'b2'로 빌드 한 다음'sudo ./b2 install'을 사용하여 설치 했습니까? 또한,'root'로 빌드하지 말고 모든 권한없는 일반 사용자로 수행 한 다음'sudo '를 사용하여'root'로 설치하십시오. "나는 리눅스에 대해 아무 것도 안다."라고 말하고 모든 것을'뿌리'로 매우 빠르게 자신의 시스템을 엉망으로 만든다고 말하는 사람들 –

+0

@JonathanWakely 당신은 나를 잡았습니다. 나는 방금 모든 걸음을 따라 가지 않았다는 것을 깨달았다. 이것은 지금 막 dev에 서버입니다. 나는 배포판을 여러 번 여러 번 다시 설치했다. 일반 사용자로 로그인 할 때'sudo'를 사용하여 루트로 설치하는 이유는 무엇입니까? –

+1

'root'로해야만하는 일을하기 위해서'root' 만 사용한다면 시스템을 망칠 가능성이 적기 때문입니다. 코드 컴파일은'root'로 할 필요가 없으므로하지 마십시오. Boost와 같은 "신뢰할 수있는"소프트웨어라도 "버릇없는"습관을 갖기 때문에 인터넷에서 "루트"로 다운로드 한 소프트웨어를 구축하는 것은 바보입니다. –

답변

4

내가 설치 한 사용자 정의 위치가 빌드 시스템의 포함 경로에 있는지 확인하는 것이 좋습니다.

WebSocket ++ 0.2.x 빌드 시스템의 경우 사용자 정의 경로를 지정하기 위해 시스템 변수 BOOST_LIB_PATH/BOOST_INCLUDE_PATH를 설치하지 않으면 BOOST_PREFIX (즉/usr/local /) 또는 정확한 경로를 include 및 lib 디렉토리로 설정할 수 있습니다 . 0.3.x의 경우 빌드 할 라이브러리가 없으므로 -I/path/to/your/boost 및 -L/path/to/your/boost/lib/dir을 사용하거나 해당 경로를 전역 경로에 추가하십시오. IDE를 사용하는 경우 대개 사용자 정의 include/library 경로를 추가하는 방법이 있습니다.

+0

다시 한 번 감사의 말씀을드립니다. –

4

? 그냥 sudo apt-get install boost-devel을하면 끝났습니다. 그리고 헤더가 /usr/include/boost에 들어가므로 모든 것이 "잘 작동합니다".

+0

고맙습니다! 그게 최신 버전입니까? 제작자는이 방법을 사용하여 자신의 좋은 점을 충분히 활용하도록 제안했습니다. http://askubuntu.com/a/264700/128334 –

+0

'apt-cache show boost-devel'을 실행하면 시스템이 제공하는 버전을 알려줄 수 있습니다. –

+0

어쨌든, 버전이 무엇이든, 시도해보고 작동하는지 확인하십시오. 우분투 12.10은 매우 최근 버전이므로 부스트가 제공되지 않습니다. –