3
我有一個使用VS2010開發的應用程序,它使用Boost.Thread 1.48。boost :: mutex :: timed_lock不在Linux上
目前我試圖將應用程序移植到Linux上(在Debian 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。 在Linux下,我不得不標題更改爲:
boost::timed_mutex myMutex;
我還不太清楚,有什麼原因。
你在Debian中使用了哪些增強版本? –
我已經從零開始構建了Boost 1.48,並指向包含dir和lib目錄。 – Simon