byulparan / LinkUGen

Ableton Link compatiable UGen for SuperCollider.
72 stars 12 forks source link

error: no type named 'condition_variable' in namespace 'std' #1

Open hamoid opened 7 years ago

hamoid commented 7 years ago

Hi, thanks for sharing this project.

Unfortunately I can't get it to compile on Linux with clang++. For some reason it does not recognize std::condition_variable, which might mean that it's not using c++11. I have tried in different ways to make sure that it's using c++11 but nothing seems to help. Any suggestions?

hamoid commented 7 years ago

I installed libc++ and added

set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -std=c++11 -stdlib=libc++")

and it fails on a different place (not sure if this is progress or not):

/tmp/link/include/ableton/discovery/NetworkByteStreamSerializable.hpp:248:10: error: call to 'toNetworkByteStream' is ambiguous
  return toNetworkByteStream(dur.count(), std::move(out));
         ^~~~~~~~~~~~~~~~~~~
/tmp/link/include/ableton/link/PayloadEntries.hpp:92:12: error: no matching function for call to 'toNetworkByteStream'
    return discovery::toNetworkByteStream(std::move(dgt.time), std::move(out));
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/tmp/link/include/ableton/discovery/NetworkByteStreamSerializable.hpp:76:12: error: type 'long long' cannot be used prior to '::' because it has no members
    return T::fromNetworkByteStream(std::move(begin), std::move(end));
           ^
/tmp/link/include/ableton/link/PayloadEntries.hpp:54:12: error: no matching function for call to 'toNetworkByteStream'
    return discovery::toNetworkByteStream(std::move(sht.time), std::move(out));
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/tmp/link/include/ableton/link/PayloadEntries.hpp:130:12: error: no matching function for call to 'toNetworkByteStream'
    return discovery::toNetworkByteStream(std::move(pdgt.time), std::move(out));
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
hamoid commented 7 years ago

BTW, I made this simple compile.sh script to speed up experimentation:

mkdir -p build
rm -rf build/*
cd build
export SC3_SRC="/tmp/supercollider"
export LINK_SRC="/tmp/link"
export CXX="clang++"
cmake ../.
make