ubuntu 에서 boost 라 이브 러 리 를 컴 파일 하여 설치 합 니 다.

환경: ubuntu 12.04  32bit,boost 1.50
링크http://www.cnblogs.com/longcpp/archive/2012/06/06/2538251.html
초기 준비: boost 에서 다른 함수 라 이브 러 리 를 사 용 했 기 때문에 boost 에 해당 하 는 기능 을 사용 하기 위해 서 는 시스템 에 부족 할 수 있 는 라 이브 러 리 를 먼저 설치 해 야 합 니 다.apt-get install mpi- default -dev  # mpi apt-get install libicu-dev     # UNICODE   apt-get install python-dev     # python apt-get install libbz2-dev     # :bzlib.h: No such file or directory
상기 함수 라 이브 러 리 를 다 설치 한 후에 boost 라 이브 러 리 를 컴 파일 할 수 있 습 니 다.압축 풀기 boost1_49_0. tar. bz2, 획득 / boost1_49_0, 현재 작업 디 렉 터 리 를 이 폴 더 로 전환 합 니 다../bootstrap.sh
bjam 을 생 성 합 니 다. 상기 명령 은 여러 가지 옵션 을 가 질 수 있 습 니 다. 구체 적 으로 도움말 문 서 를 참고 할 수 있 습 니 다. / bootstrap. sh -- help.그 중에서 -- prefix 매개 변 수 는 설치 경 로 를 지정 할 수 있 습 니 다. -- prefix 매개 변 수 를 가지 고 있 지 않 으 면 (추천) 기본 경 로 는 / usr / local / include 와 / usr / local / lib 로 각각 헤더 파일 과 각종 라 이브 러 리 를 저장 합 니 다.실행 이 완료 되면 bjam 이 생 성 되 며, 이미 존재 하 는 스 크 립 트 는 자동 으로 백업 됩 니 다.boost 1.49 는 현재 디 렉 터 리 에서 두 개의 파일 bjam 과 b2 를 생 성 합 니 다. 이 두 가 지 는 같 기 때문에 다음 단 계 는 이 두 개의 중 하 나 를 사용 하여 실행 할 수 있 습 니 다.using mpi ;  # MPI , /tools/build/v2/user-config.jam
 다음은 생 성 된 bjam 스 크 립 트 를 이용 하여 소스 코드 를 컴 파일 하 는 것 입 니 다../b2 -a -sHAVE_ICU=1  #-a , ,-sHAVE_ICU=1 Unicode/ICU
여 기 는 모든 컴 파일 입 니 다.물론 일부분 만 컴 파일 할 수도 있 습 니 다. 옵션 -- with - < library >  지정 한 라 이브 러 리 만 컴 파일 합 니 다. 입력 -- with - regex 는 regex 라 이브 러 리 만 컴 파일 합 니 다.boost 1.49 의 완전 컴 파일, 필자 Intel® Core™2 Duo CPU T5750 @ 2.00GHz × 2. 2G DDR 2 메모리 의 오래된 컴퓨터 에서 상기 옵션 을 사용 하면 30 분 차이 가 많 지 않다.이 시간 은 감당 할 수 있어.모두 컴 파일 하여 설치 하면 심리 적 으로 도 편안 함 을 느 낄 수 있 습 니 다. ^ ^
bjam 에서 자주 사용 하 는 매개 변수 입 니 다. 목록 은 다음 과 같 습 니 다.
--build-dir=
컴 파일 된 임시 파일 은 builddir 에 넣 습 니 다. (이렇게 하면 관리 가 잘 되 고 컴 파일 이 끝나 면 삭제 할 수 있 습 니 다)
--stagedir=
컴 파일 된 라 이브 러 리 파일 을 저장 하 는 경로 입 니 다. 기본 값 은 stage 입 니 다.
--build-type=complete
모든 버 전 을 컴 파일 합 니 다. 그렇지 않 으 면 일부 버 전 만 컴 파일 합 니 다. 정확히 말 하면 variant = release, threading = multi 에 해당 합 니 다.link=shared|static;runtime-link=shared
variant=debug|release
어떤 버 전 을 컴 파일 할 지 결정 합 니 다 (Debug or Release?)
link=static|shared
정적 라 이브 러 리 를 사용 할 지 동적 라 이브 러 리 를 사용 할 지 결정 합 니 다.
threading=single|multi
단일 스 레 드 를 사용 할 지 다 중 스 레 드 라 이브 러 리 를 사용 할 지 결정 합 니 다.
runtime-link=static|shared
정적 연결 인지 동적 연결 인지 C / C + 표준 라 이브 러 리 인지 결정 합 니 다.
--with-
지정 한 라 이브 러 리 만 컴 파일 합 니 다. 입력 -- with - regex 는 regex 라 이브 러 리 만 컴 파일 합 니 다.
--show-libraries
컴 파일 할 라 이브 러 리 이름 보이 기
 컴 파일 이 끝 난 후 설치 합 니 다. 즉, 헤더 파일 과 생 성 된 라 이브 러 리 를 지정 한 경로 (-- prefix) 아래 에 두 는 것 입 니 다.
주의: / usr / local / include /   /usr/local/lib/   라 이브 러 리 의 설치 가 성공 하지 못 하면 권한 이 가장 커 야 합 니 다.명령: sudo chmod 777 - R / usr / local / include / sudo chmod 777 - R / usr / local / lib /./b2 install
 이로써 모든 것 이 순조롭다 면 설 치 를 마 쳤 다.작은 프로그램 검 사 를 통 해 (나 검 봉 저, 전자 공업 출판사 2012.5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 #include <stdio.h>
#include <iostream>
#include <boost/timer.hpp>
 
using namespace boost;
using namespace std ;
 
int main()
{
    timer t;
    cout <<"max timespan: "<< t.elapsed_max() / 3600 <<"h"<< endl;
    cout <<"min timespan: "<< t.elapsed_min() <<"s"<< endl;
 
    cout <<"now time elapsed: "<< t.elapsed() << "s"<< endl;
 
    return 1;
}


 프로그램 출력:max timespan: 0.596523h min timespan: 1e-06s n

좋은 웹페이지 즐겨찾기