On Dec 13 16:37, Eduardo Chappa wrote: > Hello, > > I am trying to understand why a program that used to compile before, now it > does not. I can make the program compile if I switch the order of the > #include directives. > [...] > #include <stdio.h> > #include <windows.h> > #include <openssl/bio.h> > > int main(int argc, char *argv[]) > { > return 0; > } > > In this case, the program is compiled using the command > > > gcc fail.c > > and it fails with the following error: > > In file included from /usr/include/openssl/crypto.h:131:0, > from /usr/include/openssl/bio.h:69, > from a.c:3: > /usr/include/openssl/ossl_typ.h:153:29: error: expected ‘)’ before numeric > constant > /usr/include/openssl/ossl_typ.h:199:33: error: expected ‘)’ before numeric > constant > > This used to work in the past, there was no need to switch the order, but it > fails now. Why?
Because the new Windows headers from Mingw64 define X509_NAME and OCSP_RESPONSE, which the former Mingw32 Windows headers didn't. Try this: #define NOCRYPT #include <windows.h> #include <openssl/bio.h> or better, drop including windows.h and use POSIX functionality only. Corinna -- Corinna Vinschen Please, send mails regarding Cygwin to Cygwin Project Co-Leader cygwin AT cygwin DOT com Red Hat -- 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