On 2017-09-25 19:41, Ian Fette wrote: > I tried compiling a very simple program with curl using -std=c++14 under > 64-bit cygwin with gcc 6.4.0. When compiling with just g++ main.cpp -lcurl > everything is fine, however if I try to use c++14 as the dialect (g++ > main.cpp -lcurl -std=c++14) familiar problems creep up
> This is resolved by manually including <sys/select.h> before including > <curl/curl.h> > This was discussed in the curl project in the past > (https://github.com/curl/curl/issues/749) where it was determined that it was > caused by a cygwin bug which was addressed in > https://cygwin.com/git/gitweb.cgi?p=newlib-cygwin.git;a=blob;f=newlib/libc/include/sys/types.h; > h=c9f0fc7f3a9ca420c2372c9af42ce2a0e63e3b1c;hb=ee97c4b22491b205fd3b7697e03c909e02b652d3 > If anyone has thoughts, I'd greatly appreciate it. A lot of GNU and Cygwin package build problems are avoided by building either without any -std=... option, or equivalently with -std=gnu++nn, which enables many non-portable GCC extensions and Unix features, instead of -std=c++nn, which disables GCC extensions and Unix features, and accepts only portable features supported by GCC and C++ headers you specify. In general, try replacing -std=c... with -std=gnu... or omitting -std=... and see if your program builds without errors or warnings. Adding -Wall -Wextra will let you know if anything appears questionable to the compiler. -- Take care. Thanks, Brian Inglis, Calgary, Alberta, Canada -- 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

