在linux下使用boost::thread创建一个boost::asio工作线程
creating a boost::asio worker thread with boost::thread under linux
我在windows下使用boost已经有一段时间了,现在需要迁移几个现有的应用程序来在Ubuntu 12 box上运行以进行演示。该应用程序创建了两个工作线程,一个用于记录传入的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服务和线程的指针作为成员变量,问题只是应该生成工作线程的那一行。
我相信我已经正确安装了boost,因为它对收割台的位置非常满意。
非常感谢。
错误是boost::asio::io_service::run
过载,在这种情况下,您必须解决歧义。
相关文章:
- boost::asio::steady_timer()与sleep()我应该使用哪一个
- 如果C++对象的类在另一个boost模块中声明,如何使用boost将指向该对象的指针返回到python
- 创建一个函数的 Python 绑定,返回指向带有 boost 的向量的指针
- Boost program_options将多个配置文件解析结果存储到一个parsed_options中
- 我在使用 boost::serialization 时遇到了一个问题,我的代码在 Linux 中运行良好,但在 Wind
- 我正在将一个 std::string 传递给一个 boost 函数,该函数对该类型进行常量引用,但该值发生了变化
- 仅在 boost::hash_combine 中运行一个程序期间保证确定性
- 我正在尝试创建一个C++映射,该映射在boost内存映射文件中具有向量值
- 在boost::hana中给定一个键元组,如何从映射中获取值元组
- 我已经编写了C++代码将 boost::optional 视为一个范围,但它无法编译
- 生成一个使用 boost 的 .cu 文件
- boost::文件系统::create_directory抛出了一个提升::文件系统::filesystem_error
- 如何创建一个版本的 boost::range::transform,该版本具有用于捕获上下文的额外参数
- 制作一个带有 boost::asio::d eadline_timer 的计时器
- boost :: filesystem :: verver()无法访问文件,因为另一个过程正在使用该文件
- Boost::p roperty_tree:在XML解析器中使用std::vector<>在一个键中存储多个值
- BASIC_SOCKETD_ACCEPTOR接口在Boost 1.66中更改.这是一个错误
- boost last_write_time更改最后一个写入值
- 如何为这个Boost.BUILD Jamfile编写一个Bazel BUILD文件
- boost::instrusive::list 带有自动取消链接钩子:我可以使用列表中的值来确定列表是否只有一个元素