cygwin:“我不知道;fmemopen“;未在此范围中声明

cygwin:“我不知道;fmemopen“;未在此范围中声明,cygwin,scip,Cygwin,Scip,我正在使用cygwin在Windows下运行SCIP。但是,当我使用make运行安装时,cygwin会报告 “fmemopen”未在此范围内声明 tmpStream=fmemopen(tmpString,63,“w”) 我认为问题是在我试图在cygwin软件包管理器中安装ZLIB软件包时出现的,但我不确定如何处理该错误?显然,由于某些原因,在使用cygwin时未设置标志\u WIN32或\u WIN64。您可以手动调整相应的子makefilemake.cygwin.x86.gnu或soplex-

我正在使用cygwin在Windows下运行SCIP。但是,当我使用
make
运行安装时,cygwin会报告

“fmemopen”未在此范围内声明

tmpStream=fmemopen(tmpString,63,“w”)


我认为问题是在我试图在cygwin软件包管理器中安装ZLIB软件包时出现的,但我不确定如何处理该错误?

显然,由于某些原因,在使用cygwin时未设置标志
\u WIN32
\u WIN64
。您可以手动调整相应的子makefile
make.cygwin.x86.gnu
soplex-2.2.1/make/
中的
make.cygwin.x86\u 64.gnu

只需在第一行中分别添加
-D_WIN32
-D_WIN64
,即可扩展
CPPFLAGS
参数


您还可以通过运行
make LEGACY=true

来尝试在没有SoPlex的rational解决功能的情况下进行编译。显然,由于某些原因,在使用cygwin时未设置标志
\u WIN32
\u WIN64
。您可以手动调整相应的子makefile
make.cygwin.x86.gnu
soplex-2.2.1/make/
中的
make.cygwin.x86\u 64.gnu

只需在第一行中分别添加
-D_WIN32
-D_WIN64
,即可扩展
CPPFLAGS
参数


您也可以通过运行
makelegacy=true

来尝试在没有SoPlex的rational解决功能的情况下进行编译。我找到了soplex-2.2.1./make/中提到的文件。如何添加提到的术语?您可以这样编辑文件:
CPPFLAGS+=-m32-D_WIN32
我将make.cygwin.x86_64.gnu的第一行编辑为“CPPFLAGS+=-m64-D_WIN64 LDFLAGS”。但是,cygwin现在说了一个错误:目标“scipbinary”的规则失败。请阅读整个错误输出以查找错误。它说make/make.cygwin.x86_64.gnu.opt文件:zimpl中不存在这样的文件或目录。根据scip的网站,我试图将“make/make.cygwin.x86.gnu.opt”复制为“make/make.cygwin.x86_64.gnu.opt”。但是,它说所选的CPU不支持x86-64命令。我没有完全明白我应该做什么。我找到了soplex-2.2.1./make/中提到的文件。如何添加提到的术语?您可以这样编辑文件:
CPPFLAGS+=-m32-D_WIN32
我将make.cygwin.x86_64.gnu的第一行编辑为“CPPFLAGS+=-m64-D_WIN64 LDFLAGS”。但是,cygwin现在说了一个错误:目标“scipbinary”的规则失败。请阅读整个错误输出以查找错误。它说make/make.cygwin.x86_64.gnu.opt文件:zimpl中不存在这样的文件或目录。根据scip的网站,我试图将“make/make.cygwin.x86.gnu.opt”复制为“make/make.cygwin.x86_64.gnu.opt”。但是,它说所选的CPU不支持x86-64命令。传递给gcc的完整命令行是什么?fmemopen在stdio.h中受
\uuuuPOSIX\uVisible>=200809的保护。有关详细信息,请参见
/usr/include/sys/features.h
。传递给gcc的完整命令行是什么?fmemopen在
stdio.h
中受
\u POSIX\u VISIBLE>=200809
保护,详情请参见
/usr/include/sys/features.h