Search code examples
cygwinscip

cygwin: "fmemopen" was not declared in this scope


I am using cygwin to run SCIP under Windows. However, when I use make to run the installation, cygwin reports

"fmemopen" was not declared in this scope

tmpStream = fmemopen(tmpString, 63, "w");

I think the problem arised when I tried to install packages for ZLIB within the cygwin package manager, but I am not sure how I can handle with that error?


Solution

  • Apparently, for some reason the flags _WIN32 or _WIN64 is not set when using cygwin. You can do that manually be adjusting the corresponding sub-makefiles make.cygwin.x86.gnu or make.cygwin.x86_64.gnu in soplex-2.2.1/make/:

    Simply add -D_WIN32 or -D_WIN64, respectively, in the first line, extending the CPPFLAGS parameter.

    You might also try compiling without the rational solving capabilities of SoPlex by running make LEGACY=true.