`
smartvessel
  • 浏览: 82035 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Boost asio Tutorial-例子Timer.5 make error

阅读更多

Boost asio Tutorial

例子Timer.5 - Synchronising handlers in multithreaded programs编译错误

作者:smartvessel@gmail.com

环境:cygwin+boost1.41.0

 

报错信息:

make all

Building file: ../src/boosthello.cpp

Invoking: Cygwin C++ Compiler

g++ -D__USE_W32_SOCKETS -D_WIN32_WINNT -I"D:\cygwin\usr\local\include\boost" -O0 -g3 -c -fmessage-length=0 -MMD -MP -MF"src/boosthello.d" -MT"src/boosthello.d" -o"src/boosthello.o" "../src/boosthello.cpp"

In file included from /usr/local/include/boost/thread/future.hpp:12,

                 from /usr/local/include/boost/thread.hpp:24,

                 from ../src/boosthello.cpp:9:

/usr/local/include/boost/exception_ptr.hpp:43: error: looser throw specifier for `virtual boost::exception_ptr::~exception_ptr()'

/usr/local/include/boost/exception/detail/exception_ptr_base.hpp:28: error:   overriding `virtual boost::exception_detail::exception_ptr_base::~exception_ptr_base() throw ()'

make: *** [src/boosthello.o] Error 1

 

这是个make的报错,涉及exception_ptr.hppexception_ptr_base.hpp两个文件,于两个析构函数有关,而且析构函数是虚函数。

 

一番调查发现exception_ptr_base.hppclass exception_ptr_base定义了虚拟析构函数,而exception_ptr.hppclass exception_ptr继承之exception_ptr_base,但是没有实现其虚拟析构函数。

因此在exception_ptr中添加

        ~exception_ptr()throw()

        {

        }

这样就可以解决错误,这应该是1.41.0的一个bug

分享到:
评论

相关推荐

    boost-asio-cpp-network-programming.zip_BOOST教程_Boost_boost asio

    "boost-asio-cpp-network-programming-chinese.pdf"这个PDF文件很可能是Boost.Asio的中文教程,涵盖了从基础到高级的各种主题,对于初学者和有经验的开发者都是很好的参考资料。它可能会讲解如何设置服务器和客户端...

    Boost.Asio-20200124.pdf

    Boost.Asio 是一个强大的 C++ 库,专为网络编程和低级 I/O 设计,其核心特性在于提供了一种现代 C++ 实现的一致异步编程模型。这个库允许开发者编写可移植、高效的代码,适用于多种操作系统和硬件平台。 在 Boost....

    Asynchronous IO with Boost.Asio - Michael Caisse - CppCon 2016.pdf

    在文档“ASIO with Boost.Asio - Michael Caisse - CppCon 2016.pdf”中,Michael Caisse 介绍了如何使用Boost.Asio库进行异步I/O操作。这个文档和其中的知识点对熟悉C++编程以及希望利用Boost库进行网络编程的...

    Boost.Asio.C++.Network.Programming.

    《Boost.Asio.C++.Network.Programming.》是关于使用C++进行网络编程的一份资源,主要聚焦于Boost.Asio库的使用。Boost.Asio是一个强大的、跨平台的库,用于处理I/O操作,如网络通信,它使得在C++中编写并发、异步...

    mysql-boost-5.7.30.tar.gz

    Boost.Asio库可能用于网络通信,优化数据库的网络连接;Boost.Serialization则可能用于数据库备份和恢复过程中的数据序列化。 在源码安装MySQL 5.7.30的过程中,首先需要解压"mysql-boost-5.7.30.tar.gz",然后遵循...

    downloads.part3.rar

    boost-1.70.0.tar.gz boostorg-any-boost-1.70.0.tar.gz boostorg-array-boost-1.70.0.tar.gz boostorg-asio-boost-1.70.0.tar.gz boostorg-assert-boost-1.70.0.tar.gz boostorg-assign-boost-1.70.0.tar.gz ...

    Boost.Asio C++ Network Programming Cookbook.pdf

    Boost.Asio C++ Network Programming Cookbook.pdf Boost.Asio C++ Network Programming Cookbook.pdf

    asio-devel-1.10.8-1.el6.x86_64.rpm

    asio-devel安装包,el6,64位的。属于依赖包,建议收藏

    downloads.part1.rar

    boost-1.70.0.tar.gz boostorg-any-boost-1.70.0.tar.gz boostorg-array-boost-1.70.0.tar.gz boostorg-asio-boost-1.70.0.tar.gz boostorg-assert-boost-1.70.0.tar.gz boostorg-assign-boost-1.70.0.tar.gz ...

    downloads.part2.rar

    boost-1.70.0.tar.gz boostorg-any-boost-1.70.0.tar.gz boostorg-array-boost-1.70.0.tar.gz boostorg-asio-boost-1.70.0.tar.gz boostorg-assert-boost-1.70.0.tar.gz boostorg-assign-boost-1.70.0.tar.gz ...

    Boost.Asio C++ 网络编程.pdf

    **Boost.Asio C++ 网络编程**是C++编程领域中专注于网络通信的一门技术,由Boost库提供支持。Boost.Asio是Boost库的一部分,它为C++程序员提供了低级和高级的网络API,使得开发高效、可扩展的网络应用程序变得简单。...

    boost-boost-1.71.0.tar.gz

    例如,如果只需要使用Boost.Asio进行网络编程,可以在配置CMake时指定`boost_component`。 压缩包子文件的文件名称列表只给出了"boost-boost-1.71.0",这表明压缩包内包含了整个Boost库的源码目录结构。通常,这个...

    USB-ASIO V2.x driver

    USB-ASIO V2.x驱动程序是针对Windows 32位操作系统设计的一款专业音频驱动,主要功能是为连接到计算机的USB音频接口设备提供高效、低延迟的ASIO(Audio Stream Input/Output)支持。ASIO是Steinberg公司开发的一种...

    Boost ASIO C++ 网络编程 中文版 带全书所有例子代码

    **Boost ASIO C++ 网络编程 中文版 带全书所有例子代码** Boost ASIO 是一个用于编写异步网络应用程序的库,它为C++开发者提供了强大而灵活的工具。这本书《Boost.Asio C++ Network Programming》中文版,结合了...

    asio-master_Boost.asio高质量封装库_

    【标题】:“asio-master_Boost.asio高质量封装库_” 提供的是一个基于Boost.Asio的高级封装库,它旨在简化使用Boost.Asio时的编程工作,提高代码的可读性和可维护性。 【描述】:“asio的库封装文件内包含生成 ...

    asio_samples-master_Boost.Asio高质量例子程序_源码

    使用例子程序,包括多播,同步,异步,服务器回显,等多个用asio封装的Socket例子

    Boost.Asio.C++.Network.Programming.Cookbook

    《Boost.Asio.C++.Network.Programming.Cookbook》是一本专注于使用Boost库中的Asio组件进行网络编程的烹饪书。Boost.Asio是Boost库的一个组件,主要提供异步输入输出功能,适用于需要进行网络编程的各种应用程序。...

    boost_1_67_0.tar.gz,openfst-1.6.7.tar.gz

    例如,Boost.Thread库可以方便地实现多线程编程,而Boost.Asio库则为网络通信提供高效的支持。在PyTorch中,虽然主要用Python编写,但底层的C++扩展可能会用到Boost库,特别是在实现高性能的计算模块时。 "openfst-...

    Boost.Asio C++ Network Programming.pdf

    标题《Boost.Asio C++ Network Programming》和描述表明本文档是一本关于使用Boost.Asio库进行C++网络编程的电子书。网络编程是一项要求严谨的复杂任务,涉及底层的网络通信和协议处理。Boost.Asio提供了一种简便的...

    asio_chat_client.rar_ASIO_Boost_asio chat_boost.asio

    ASIO提供了异常安全的机制,开发者可以通过捕获`boost::system::error_code`来处理这些错误。 通过学习和分析这个“asio_chat_client”示例,你可以深入理解Boost.ASIO如何简化网络编程,以及如何利用异步I/O实现高...

Global site tag (gtag.js) - Google Analytics