错误:名称空间'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 ::信号还没有实现...... 我安装了最新版本,现在一切都很好。
答
该错误告诉你,编译器不能识别标识符。当您忘记包含标题,或者标题的版本不同且不包含该标识符时,这种情况很常见。
这是编译器产生的第一个错误吗?特别是,它是否抱怨说它找不到任何头文件?这可能表示头文件不在编译器正在检查的路径中,在这种情况下,您可能需要将-Ipath_to_boost
标志添加到编译行中。
如果在遇到错误时可以产生正在编译的实际文件,这也会很有趣。
自OP发现问题后投票结束。 – ildjarn