On Wed, 30 May 2018 11:58 AM, JonY <10wa...@gmail.com> wrote: > > Does -static change anything?
Interesting! It succeeds with g++ -std=c++17, and does this with clang++ -std=c++17: $ clang++ -std=c++17 -static -Wall -Wextra -O2 -o testa testa.cc /usr/lib/gcc/x86_64-pc-cygwin/7.3.0/libstdc++.a(cow-string-inst.o):cow-string-inst.cc:(.data$_ZNSs4_Rep20_S_empty_rep_storageE[_ZNSs4_Rep20_S_empty_rep_storageE]+0x0): multiple definition of `std::string::_Rep::_S_empty_rep_storage' /tmp/testa-c0acb8.o:(.bss[_ZNSs4_Rep20_S_empty_rep_storageE]+0x0): first defined here clang-5.0: error: linker command failed with exit code 1 (use -v to see invocation) >> #include <shared_mutex> > > I'm guessing Cygwin does not support the functionality declared in the > headers yet. If that were the case, it should not compile with g++ -std=c++11, gnu++14, or gnu++17, but it does. Also, a much cleaner error message could be shown with: #error shared_mutex not supported in the header file, instead of lots of "pthread_rwlock_* not declared in this scope". (Note: the first one, with the std::stringstream, still fails with -std=gnu++17) -- Problem reports: http://cygwin.com/problems.html FAQ: http://cygwin.com/faq/ Documentation: http://cygwin.com/docs.html Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple