错误:名称空间'boost :: asio'中的'signal_set'未命名类型

错误:名称空间'boost :: asio'中的'signal_set'未命名类型

问题描述:

我正在研究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

该错误告诉你,编译器不能识别标识符。当您忘记包含标题,或者标题的版本不同且不包含该标识符时,这种情况很常见。

这是编译器产生的第一个错误吗?特别是,它是否抱怨说它找不到任何头文件?这可能表示头文件不在编译器正在检查的路径中,在这种情况下,您可能需要将-Ipath_to_boost标志添加到编译行中。

如果在遇到错误时可以产生正在编译的实际文件,这也会很有趣。