http://ideone.com/6RMdnj (it compiles on my system with the same compiler and same settings, even in the same source as that which is giving me errors)
You include the project header files first (which include the unseen "<lacewing.h>" header), so I'm wondering if they may have something in them that is borking things up for what is included later in the file. Do you have the same issue if you move the local header files after the system headers in the include order?
@ L B: First a caveat - This is somewhat above my skill level but digging into problems like this is how I try to learn.
That being said, I used your command line with g++ and the only errors reported were:
src/RelayServer.cpp:50:9: error: function ‘LwRelay::Server::Impl::Impl(LwRelay::Server::Impl&&)’ defaulted on its first declaration with an exception-specification that differs from the implicit declaration ‘LwRelay::Server::Impl::Impl(LwRelay::Server::Impl&&)’
Impl(Impl &&) noexcept(true) = default;
src/RelayServer.cpp:52:15: error: function ‘LwRelay::Server::Impl& LwRelay::Server::Impl::operator=(LwRelay::Server::Impl&&)’ defaulted on its first declaration with an exception-specification that differs from the implicit declaration ‘LwRelay::Server::Impl& LwRelay::Server::Impl::operator=(LwRelay::Server::Impl&&)’
Impl &operator=(Impl &&) noexcept(true) = default;
Wow, I didn't know that the noexcept specifiers were responsible - that was completely out of my mind.
I wrote this code originally a long time ago before I understood the correct way to use noexcept specifiers - thanks to you discovering that that was the issue, I've fixed it and it now passes syntax-only compilation! Thanks!