C++ 在linux下使用boost::thread创建boost::asio工作线程

C++ 在linux下使用boost::thread创建boost::asio工作线程,c++,boost,boost-asio,boost-thread,C++,Boost,Boost Asio,Boost Thread,我在windows下使用boost已经有一段时间了,现在需要迁移一些现有的应用程序,以便在Ubuntu12Box上运行以进行演示。此应用程序创建两个工作线程,一个用于记录传入的UDP数据,另一个用于侦听单独的端口并将该数据打印到屏幕上 我已经完成了所有其他工作,但是由于某种原因,下面的代码行失败了,出现了一个错误“boost::asio::io_service::run的重载无效” 这行代码在我的Win32机器上运行良好,但在linux上出现无效重载错误 还有两个其他错误: boost::bin

我在windows下使用boost已经有一段时间了,现在需要迁移一些现有的应用程序,以便在Ubuntu12Box上运行以进行演示。此应用程序创建两个工作线程,一个用于记录传入的UDP数据,另一个用于侦听单独的端口并将该数据打印到屏幕上

我已经完成了所有其他工作,但是由于某种原因,下面的代码行失败了,出现了一个错误“boost::asio::io_service::run的重载无效”

这行代码在我的Win32机器上运行良好,但在linux上出现无效重载错误

还有两个其他错误:

boost::bind is ambiguous

但我很确定这是另一个错误造成的。我肯定包括了boost头,因为编译器并没有抱怨我的类有指向IO服务和线程的指针作为成员变量,问题在于应该产生工作线程的那一行

我相信我已经正确安装了boost,因为它对标题位置非常满意


非常感谢。

错误在于
boost::asio::io\u service::run
过载,在这种情况下,您必须这样做。

不,我认为这不是问题所在。我以前确实这样做过,没有任何含糊不清的地方。我猜有一些
#include
丢失了。干杯,伙计,就是这样。一旦我修正了模糊性,所有其他的问题都被解决了。@StefanNäwe,我还发现了其他一些可以被视为“来源”的问题。在迁移过程中,我得到了Boost的最新版本,我所有的其他系统都运行1.46,新安装的是1.51。看起来新的过载是为其中一个版本引入的。我仍然不相信。。。编译时没有任何错误(gcc 4.3.2,boost 1.50.0)…甚至可以这样做。
boost::bind is ambiguous
type boost::thread could not be resolved