sleepy-discord
sleepy-discord copied to clipboard
Compiling libsleepy_discord.a with websockets++ using MinGW for Windows causes errors
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).
I suggest you to use mingwW64, it's updated and support 64 bit