Linux 컴 파일 설치 boost 1.48
1.다운로드 사이트:
http://sourceforge.net/projects/boost/files/boost/1.48.0/
2.설치
tar -xzvf boost_1_48_0.tar.g -C ~/source
cd source/boost_1_48_0/
./bootstrap.sh
sudo ./bjam --layout=versioned --build-type=complete --toolset=gcc install
3.환경 변수 설정
/etc/profile.d 에 실행 가능 한 파일 boost.sh 를 새로 만 들 고 파일 내용 을 추가 합 니 다.
#!/bin/sh
BOOST_INCLUDE=/usr/local/include/boost
BOOST_LIB=/usr/local/lib
export BOOST_INCLUDE BOOST_LIB
명령 행 실행:source/etc/profile.d/boost.sh
이후 컴 파일 러 에 서 는:-I$BOOSTINCLUDE -L$BOOST_LIB 를 사용 하면 됩 니 다.-l 을 사용 하여 링크 라 이브 러 리 를 지정 합 니 다.
4.공유 라 이브 러 리 링크 디 렉 터 리 설정
/etc/ld.so.conf 파일 내용 뒤에 추가/usr/local/lib
명령 행 실행
sudo ldconfig
5.직면 한 문제 및 해결 방안
설치 과정 에서 bz 와 관련 된 오류 가 많이 발생 했 습 니 다.해결 방안 은 다음 과 같 습 니 다.
sudo apt-get install libbz2-dev
PS 설치 중 오류:
libs/iostreams/src/bzip2.cpp:20:56: error: bzlib.h:
libs/iostreams/src/bzip2.cpp:31: error: ‘BZ_OK’ was not declared in this scope
libs/iostreams/src/bzip2.cpp:32: error: ‘BZ_RUN_OK’ was not declared in this scope
libs/iostreams/src/bzip2.cpp:33: error: ‘BZ_FLUSH_OK’ was not declared in this scope
libs/iostreams/src/bzip2.cpp:34: error: ‘BZ_FINISH_OK’ was not declared in this scope
libs/iostreams/src/bzip2.cpp:35: error: ‘BZ_STREAM_END’ was not declared in this scope
libs/iostreams/src/bzip2.cpp:36: error: ‘BZ_SEQUENCE_ERROR’ was not declared in this scope
libs/iostreams/src/bzip2.cpp:37: error: ‘BZ_PARAM_ERROR’ was not declared in this scope
libs/iostreams/src/bzip2.cpp:38: error: ‘BZ_MEM_ERROR’ was not declared in this scope
libs/iostreams/src/bzip2.cpp:39: error: ‘BZ_DATA_ERROR’ was not declared in this scope
libs/iostreams/src/bzip2.cpp:40: error: ‘BZ_DATA_ERROR_MAGIC’ was not declared in this scope
libs/iostreams/src/bzip2.cpp:41: error: ‘BZ_IO_ERROR’ was not declared in this scope
libs/iostreams/src/bzip2.cpp:42: error: ‘BZ_UNEXPECTED_EOF’ was not declared in this scope
libs/iostreams/src/bzip2.cpp:43: error: ‘BZ_OUTBUFF_FULL’ was not declared in this scope
libs/iostreams/src/bzip2.cpp:44: error: ‘BZ_CONFIG_ERROR’ was not declared in this scope
libs/iostreams/src/bzip2.cpp:48: error: ‘BZ_FINISH’ was not declared in this scope
//mostly like above....
6.테스트
#include
char const* greet()
{
return "hello, world";
}
BOOST_PYTHON_MODULE(hello)
{
using namespace boost::python;
def("greet", greet);
}
코드 를 hello.cpp 로 저장 하고 so 라 이브 러 리 로 컴 파일 합 니 다.
g++ hello.cpp -o hello.so -shared -I/usr/include/python2.6 -I /usr/lib/python2.6/config/ -lboost_python
python 경 로 를 python 경로 로 설정 하고-lbost 를 추가 해 야 합 니 다.python,이 라 이브 러 리 이름 이 꼭 이것 은 아 닙 니 다./user/local/lib 에서 찾 아 보 세 요.
그리고 이 so 라 이브 러 리 가 있 는 디 렉 터 리 에서 python 에 들 어가 면 다음 과 같이 사용 할 수 있 습 니 다.
>>> import hello
>>> hello.greet()
'hello, world'
7.문제 및 해결 방안 테스트
문제 가 발생 하면:
/usr/bin/ld: cannot find -lboost_python
collect2: ld returned 1 exit status
해결 방안:
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
용감한 바로 가기 및 우분투 응용 프로그램안녕하세요 여러분, 이 기사에서는 모든 사이트에서 pwa를 생성하고 실행기 응용 프로그램으로 추가하는 방법을 설명하고 싶습니다. 일부 웹사이트는 PWA로 설치를 허용하지 않지만 유사한 애플리케이션을 원합니다. 1. ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.