cinatra
cinatra copied to clipboard
win10 vs2019工程中添加cinatra,编译错误
io_service_pool.hpp(57,16): error C2039: 'io_service': is not a member of 'boost::asio' (compiling source file
io_service在新版本的asio库中已经废弃了,请问能适配到新版本的asio吗?
你用的是哪个版本的boost?
可以将它换成io_context试试。
没用boost,vcpkg install asio,1.18版本的asio, 除了io_service -> io_context; 还有很多用法都有问题:work也没有了
还有请教下,我的环境里面不支持 asio::ip::tcp::resolver::query,查看代码ip/basic_resolver.hpp中,下面这段代码是灰的,不知要在哪里undefine ASIO_NO_DEPRECATED #if !defined(ASIO_NO_DEPRECATED) /// (Deprecated.) The query type. typedef basic_resolver_query<InternetProtocol> query;
/// (Deprecated.) The iterator type. typedef basic_resolver_iterator<InternetProtocol> iterator; #endif // !defined(ASIO_NO_DEPRECATED)
看来最新版本的asio变动不小,用boost的asio吧,或者换1.12版本的asio,github上就有取下来就行。
你好,请问啥时会支持https
看来最新版本的asio变动不小,用boost的asio吧,或者换1.12版本的asio,github上就有取下来就行。
不能改为老版本了,我里面有其他的用到asio的新版本了
你好,请问啥时会支持https
本来就支持ssl,例子里面有怎么用ssl。
还有请教下,我的环境里面不支持 asio::ip::tcp::resolver::query,查看代码ip/basic_resolver.hpp中,下面这段代码是灰的,不知要在哪里undefine ASIO_NO_DEPRECATED #if !defined(ASIO_NO_DEPRECATED) /// (Deprecated.) The query type. typedef basic_resolver_query query;
/// (Deprecated.) The iterator type. typedef basic_resolver_iterator iterator; #endif // !defined(ASIO_NO_DEPRECATED)
你用的是cmake吗?
还有请教下,我的环境里面不支持 asio::ip::tcp::resolver::query,查看代码ip/basic_resolver.hpp中,下面这段代码是灰的,不知要在哪里undefine ASIO_NO_DEPRECATED #if !defined(ASIO_NO_DEPRECATED) /// (Deprecated.) The query type. typedef basic_resolver_query query; /// (Deprecated.) The iterator type. typedef basic_resolver_iterator iterator; #endif // !defined(ASIO_NO_DEPRECATED)
你用的是cmake吗?
是的,我刚在 cinatra.hpp中添加 #undef ASIO_NO_DEPRECATED,导致很多问题,看来不能添加,冲突很严重
不应该啊,在cmakelists.txt里面加 add_definitions(-DASIO_NO_DEPRECATED)
大侠能抽时间适配修改下支持最新的asio 1.18版本吗?感谢
ok,我抽空看看最新的asio是怎么回事。
你好,我大概修改了几点:
- io_service -> io_context
- timer的api适配
- query -> 直接改为 asio::ip::tcp::endpoint endpoint
现在有个问题始终无法解决,还请大侠看看是怎么回事: 问题点: http_server.hpp的 explicit http_server_(Args&&... args) : io_service_pool_(std::forward<Args>(args)...) 报编译错误 >C:\projectvs\xxx\xxx\source\third_party\cinatra\include\cinatra/http_server.hpp(32,9): error C2512: 'asio::ip::basic_resolver<asio::ip::tcp,asio::any_io_executor>': no appropriate default constructor available (compiling source file C:\projectvs\xxx\xxx\source\auth\main.cc) 1
------------------ 原始邮件 ------------------ 发件人: "qicosmos/cinatra" <[email protected]>; 发送时间: 2020年11月19日(星期四) 晚上7:08 收件人: "qicosmos/cinatra"<[email protected]>; 抄送: "Lucky Lee-0"<[email protected]>;"Author"<[email protected]>; 主题: Re: [qicosmos/cinatra] win10 vs2019工程中添加cinatra,编译错误 (#172)
ok,我抽空看看最新的asio是怎么回事。
— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub, or unsubscribe.
最新代码需要vs2022,需要c++20,可以用新版的msvc测试一下。