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
In file included from /usr/include/curl/curl.h:2547:0, from main.cpp:10: /usr/include/curl/multi.h:155:40: error: ‘fd_set’ has not been declared fd_set *read_fd_set, ^~~~~~ /usr/include/curl/multi.h:156:40: error: ‘fd_set’ has not been declared fd_set *write_fd_set, ^~~~~~ /usr/include/curl/multi.h:157:40: error: ‘fd_set’ has not been declared fd_set *exc_fd_set, ^~~~~~ 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. Compiling the following is sufficient to reproduce. #include <iostream> #include <curl/curl.h> using namespace std; int main() { CURL *curl = curl_easy_init(); if(curl) { CURLcode res; curl_easy_setopt(curl, CURLOPT_URL, "http://example.com"); res = curl_easy_perform(curl); curl_easy_cleanup(curl); } } -- 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