I’m trying to get ciSpacebrew working but i’m running into an issue with Cinder-WebSocketPP.
I cloned the latest cinder version (master branch) as well as the latest Cinder-WebSocketPP (https://github.com/wieden-kennedy/Cinder-WebSocketPP) from github.
I’m getting following compiling error:
cinder_master/blocks/Cinder-WebSocketPP/src/websocketpp/transport/asio/connection.hpp:442:24: No matching function for call to ‘make_shared’
I’m getting this error in my project as well as in both samples that come with the block.
Cinder-WebSocketPP block works perfectly with the cinder/release_v0.9.0 branch.
Any hints on what changed that would break that block?
Are you compiling with c++ 11 enabled?
This might be a naive answer but std::make_shared was introduced in c++ 11 so that would be something to check first.
Yes, compiling with c++ 11.
(I think cinder 0.9 wouldn’t compile without it at all.)
Actually just make sure these are defined
#define _WEBSOCKETPP_INITIALIZER_LISTS_
#define _WEBSOCKETPP_NULLPTR_
#define _WEBSOCKETPP_CPP11_FUNCTIONAL_
#define _WEBSOCKETPP_CPP11_SYSTEM_ERROR_
#define _WEBSOCKETPP_CPP11_MEMORY_
#define _WEBSOCKETPP_CPP11_THREAD_
#define _WEBSOCKETPP_CPP11_RANDOM_DEVICE_
#define _WEBSOCKETPP_CPP11_TYPE_TRAITS_
It looks like they are all already defined in WebSocketConnection.h
I’m still getting the same error.
Does the block work for you @ryanbartley?
The problem is with boost. It looks like it’s made to use boost, take out the…
#define BOOST_DATE_TIME_NO_LIB
#define BOOST_REGEX_NO_LIB
and add above all of it add…
#define ASIO_STANDALONE
Unfortunately that doesn’t fix it either.
Still throws the same error.
(At least on my computer. Does that def work for you @ryanbartley?)
I’ll pull it down today and figure out what’s going on. Sorry you’re having so much trouble.
Another data point that might be helpful - I’m not using ciSpacebrew, but I am using Cinder-WebSocketPP and cinder master branch in a current project on OS X + Windows without trouble.
Caveats:
- I’m not 100% updated on cinder; the last commit I have is from Dec 10th, 2016
- This project is 32-bit only
- I brought the Cinder-WebSocketPP library into the project late, so didn’t use the Tinderbox template, but manually added the files in XCode and the User Header Search Paths (
"$(CINDER_PATH)/include/asio"
and ../blocks/Cinder-WebSocketPP/src
). Same with Visual Studio.
He solution is actually quite simple. All credits to @ryanbartley who figured it out:
The version of websocketpp that Cinder-WebSocketPP ships with is too old.
Just switch it out to the latest master from https://github.com/zaphoyd/websocketpp/tree/master/websocketpp and all works again.
2 Likes
Made a pull request with all changes required, based on this discussion. tested on OS X and Windows.