2013-06-03 1 views
1

부스트 shared_ptr 헤더 파일을 사용하여 프로그램을 작성했습니다. 이 프로그램을 컴파일하는 방법? 어떤 라이브러리 내가 컴파일하는 동안 -l g ++의 옵션으로 언급.g ++로 boost/shared_ptr.hpp를 사용하여 C++ 프로그램을 컴파일하는 방법

+1

질문에 답하지 않고 문제에 대답하지 않을 수도 있습니다 : std :: shared_ptr <>은 이제 표준 라이브러리에서'#include '을 지원합니다. –

답변

6

헤더 파일이 들어있는 boost 디렉토리가있는 디렉토리를 지정하십시오. 예를 들어 :

  • 부스트 설치 :

    /home/user/boost_1_53_0/boost/shared_ptr.hpp

  • 은 다음을 포함합니다 :

    #include <boost/shared_ptr.hpp> 
    
  • 에 컴파일하십시오 (-I,이 아님).) :

    그램 ++ -I/홈/사용자 더 는 동적 연결 boost::shared_ptr로, 필요한 템플릿이다가 없음을/boost_1_53_0 MAIN.CPP -o 주요

주 헤더 파일에 완전히 정의되어 있습니다.

컴파일러가 (Roee에 의해 주석으로) 대신 std::shared_ptr<>를 사용하여 C++ 11 지원하는 경우 :

  • 은 포함 :

    #include <memory> // use std::shared_ptr<T> 
    
  • 는 컴파일 :

    g ++ -std = C++ 11 main.cpp -o main

+0

여기서'-I'는 include 디렉토리를 지정하기위한 대문자 i입니다 (질문에서 OP는 소문자 L을 쓸 필요가 없으므로). – interjay

+0

@interjay, 예. 그것은 코멘트에서와 같이 분명하지 않지만, 내 대답은'-I'입니다. – hmjd