2011-08-19 121 views
1

我正在研究Boost :: asio庫v1.47的第一個HTTP服務器示例。 http://www.boost.org/doc/libs/1_47_0/doc/html/boost_asio/examples.html錯誤:名稱空間'boost :: asio'中的'signal_set'未命名類型

而且我得到了在編譯此消息4.5.2 gcc版本:

error: ‘signal_set’ in namespace ‘boost::asio’ does not name a type

我用的果醬,與此的Jamfile:

C++ = g++ ; 
LINK = $(C++) ; 
LINKLIBS = -lboost_system-mt -lboost_filesystem-mt ; 
Main node : main.cpp server.cpp reply.cpp request_handler.cpp request_parser.cpp connection.cpp connection_manager.cpp ; 

我認爲的代碼是正確的,因爲我從一開始就得到了錯誤,沒有修改示例源代碼,我剛剛評論了該行以解決問題。 但現在,我需要信號。

所以我覺得我搞砸了我的Jamfile。

我發現與我的這另一個問題,BT並沒有幫助我: Cannot compile when trying to utilize boost::asio::signal_set

編輯: 其實我想通了: Ubuntu的,我現在用的只提供的1.42版本升壓和boost :: asio ::信號還沒有實現...... 我安裝了最新版本,現在一切都很好。

+1

自OP發現問題後投票結束。 – ildjarn

回答

1

該錯誤告訴你,編譯器不能識別標識符。當您忘記包含標題,或者標題的版本不同且不包含該標識符時,這種情況很常見。

這是編譯器產生的第一個錯誤嗎?特別是,它是否抱怨說它找不到任何頭文件?這可能表示頭文件不在編譯器正在檢查的路徑中,在這種情況下,您可能需要將-Ipath_to_boost標誌添加到編譯行中。

如果在遇到錯誤時可以產生正在編譯的實際文件,這也會很有趣。

相關問題