-
-
Notifications
You must be signed in to change notification settings - Fork 2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Can't compile anything with latest version of standalone asio #794
Comments
websocketpp relies on deprecated features of asio which have been removed in the latest commits: chriskohlhoff/asio@9801132 1.12.2 would be the last version supported by websocketpp as it currently is. |
hmm, lovely. I'll be looking into this. |
At least some of these errors are due to this line: where websocketpp is passing a constructor argument through (N.B. this is a problem because what in asio was previously a non-template constructor that took |
All I/O objects now have an additional Executor template parameter. This template parameter defaults to the asio::executor type (the polymorphic executor wrapper) but can be used to specify a user-defined executor type. I/O objects' constructors and functions that previously took an asio::io_context& now accept either an Executor or a reference to a concrete ExecutionContext (such as asio::io_context or asio::thread_pool). One potential point of breakage in existing user code is when reusing an I/O object's io_context for constructing another I/O object, as in: asio::steady_timer my_timer(my_socket.get_executor().context()); To fix this, either construct the second I/O object using the first I/O object's executor: asio::steady_timer my_timer(my_socket.get_executor()); or otherwise explicitly pass the io_context: asio::steady_timer my_timer(my_io_context);
I'm still having this issue; any progress? |
as @chriskohlhoff suggested removing the wrapper I have a fork here that just does that, but I'm not confident/expert on websocketpp to ask a pull request as I think there's more to it, and I couldn't have tested on many configs/systems. Anyway this is the fork: https://github.com/ziocleto/websocketpp Also @stefan-floeren I do not understand your PR as you've just replaced |
The @ziocleto I replaced assignments and |
@stefan-floeren ah I see, so you've used |
Do you mean I should dowload boost with version 1.12.0? And I don't find boost package in 1.12, now there are only 1.20.0 version the most olds , |
No, 1.12.2 is the Asio version. The last working Boost is 1.69. |
Just FYI, airdcpp-webclient builds fine when using "develop" branch of websocketpp (with boost 1.71). It fails when using the last released version. |
yes, seems like using develop branch fixes the issue |
This seems to have fixed errors with ASIO: zaphoyd/websocketpp#794
In case this is useful for anyone else who just needs to get a working build going:
|
Fix taken from this comment on github: zaphoyd/websocketpp#794 (comment)
The fix was taken from the comment here: zaphoyd#794 (comment)
The fix for this issue has been available on the |
Fix taken from this comment on github: zaphoyd/websocketpp#794 (comment)
Fix taken from this comment on github: zaphoyd/websocketpp#794 (comment)
Using an older version of websocket++ (<0.8.2) leads to errors with newer versions of Boost.Asio, s. zaphoyd/websocketpp#794
I'm compiling with gcc 7.3.0 on Ubuntu 18.04
I'm using the latest master branch of websocketpp
and standalone asio from here https://github.com/chriskohlhoff/asio/tree/84e9a48ae6ff040311dfdd9bd4b8e761832509fd
I'm not sure if you can fix this or it's an issue with asio but I want to let you know about this.
Here's my code:
example0.cpp
CMakeList.txt
Here's the Errors:
The text was updated successfully, but these errors were encountered: