2013-11-21 8 views
3

저는 Boost.Thread 1.48을 사용하는 VS2010으로 개발 된 응용 프로그램을 가지고 있습니다.boost :: mutex :: timed_lock on Linux

현재 응용 프로그램을 Linux (데비안 7에서 실행 중)로 이식하려고합니다.

나는 GCC 4.6 연타로 컴파일 할 때, 나는 다음과 같은 오류

error: ‘class boost::mutex’ has no member named ‘timed_lock’ 

내가 설정해야 어떤 처리기 정의 나 컴파일러 플래그가 있습니까를 얻을?

편집 : 확인을 클릭합니다. 나는 다음과 같은 사용 :

myfile.h :

boost::mutex myMutex; 

myfile.cpp

if(myMutex.timed_lock(boost::posix_time::millisec(10000))) 
{ 
    // Do stuff 
    // ... 
    // ... 

    myMutex.unlock(); 
    return true; 
} 

myMutex.unlock(); 
return false; 

이 VS2008/2010 작동합니다. 리눅스에서 내가가 헤더를 변경했다 : 난 아직도 꽤 확실하지 않다

boost::timed_mutex myMutex; 

, 그 이유는 무엇입니까.

+0

데비안에서는 어떤 부스트 버전을 사용하고 있습니까? –

+0

나는 처음부터 부스트 1.48을 만들었고 dir과 lib 디렉토리를 포함하는 것을 가리킨다. – Simon

답변