我正在使用MinGW 4.5.1使用最新版本的Boost 1_47编译客户端应用程序(C ++,Windows XP)。由于某种原因我似乎无法确定,当我使用boost::asio::signal_set
类型进行编译时,我得到编译错误(boost::asio::signal_set
没有定义类型),并且在尝试明确包含时相关的signal_set标题,我得到的投诉是没有文件可以找到(尽管文件确实在预期的位置)。我已经尝试在目录树的同一级别中包含文件而没有问题,它似乎只挂在signal_set.hpp
文件上(尽管在使用完整标题asio.hpp并且将其作为包含时没有抱怨)。尝试使用boost 1_46_1时,我也会遇到相同的行为。
任何人都可能对正在发生的事情有任何见解?
答案 0 :(得分:2)
我遇到的问题是我没有像我想象的那样正确地包括提升标题。通常我在硬盘驱动器的某个目录中安装了boost,比如C:\ Boost \ some_boost_version。虽然我以为我指的是C:\ Boost \ boost-1_47 \ boost中包含新的boost版本,但是目录树中没有一个级别用于\ boost,所有内容都在C:\ Boost \ boost-1_47中。通过添加一个新目录(创建C:\ Boost \ boost-1_47 \ boost)并将包含在其中,我的问题得到了解决。当我重新编写构建脚本以在我的机器上构建boost库时,我忽略了一些东西。