我一直在windows下使用boost一段时间,现在需要迁移一些现有的应用程序才能在Ubuntu 12上运行以进行演示。这个应用程序创建了两个工作线程,一个用于记录传入的UDP数据,另一个用于侦听单独的端口并将该数据打印到屏幕上。
我已经完成了其他所有工作,但由于某种原因,以下行失败并出现“boost :: asio :: io_service :: run”的无效重载错误
m_logThread = new boost::thread( boost::bind( &boost::asio::io_service::run, m_ioServicePtr ));
这行在我的Win32机器上工作正常,但在linux上给出了无效的重载错误。
还有另外两个错误:
boost::bind is ambiguous
和
type boost::thread could not be resolved
但我很确定它们源于另一个错误。我肯定包括boost头文件,因为编译器并没有抱怨我的类指向IO服务和Threads作为成员变量,它只是应该产生工作线程的那一行。
我相信我已经正确安装了升级版,因为它对标题位置非常满意。
非常感谢提前。