sleepy-discord icon indicating copy to clipboard operation
sleepy-discord copied to clipboard

Compiling libsleepy_discord.a with websockets++ using MinGW for Windows causes errors

Open sweetsbeats opened this issue 5 years ago • 1 comments

As the title says, when compiling libsleepy_discord.a using g++ and the python script setup for Windows, and after fixing the boost/thread.hpp issue, the compiler will spit out this nasty error message (I disabled -Wall as well for brevity)

g++  -c -std=c++11 -fPIC -D_WEBSOCKETPP_CPP11_THREAD_=1  ../sleepy_discord/*.cpp  -I ../include/sleepy_discord  -I ../deps/include  -I ../include/sleepy_discord/IncludeNonexistent
In file included from ../deps/include/websocketpp/config/asio_client.hpp:32:0,
                 from ../include/sleepy_discord/websocketpp_websocket.h:8,
                 from ../sleepy_discord/websocketpp_websocket.cpp:1:
../deps/include/websocketpp/transport/asio/endpoint.hpp: In member function 'void websocketpp::transport::asio::endpoint<config>::handle_accept(websocketpp::transport::accept_handler, const error_code&)':
../deps/include/websocketpp/transport/asio/endpoint.hpp:839:28: error: 'operation_canceled' is not a member of 'std::errc'
             if (asio_ec == lib::asio::errc::operation_canceled) {
                            ^~~
makefile.linux:14: recipe for target 'libsleepy_discord.o' failed
mingw32-make: *** [libsleepy_discord.o] Error 1

Turns out this is a MinGW issue, as it is apparently C++11 non-compliant, as pointed out in this SO thread, and is an issue that has a workaround fix to endpoint.hpp, thanks to this PR.

I thought I would let the maintainers and others who might have the same issue know about this, as I spent a good few hours pulling my hair out over compiling, and it seems like something worth mentioning (even as an addendum in the issues tab).

sweetsbeats avatar Sep 14 '18 00:09 sweetsbeats

I suggest you to use mingwW64, it's updated and support 64 bit

Xephobia avatar Oct 19 '20 10:10 Xephobia