我正在尝试使用以下命令编译SCIP:
make ZLIB=false READLINE=false GMP=false
任何人都知道如何处理这个问题?
-> compiling obj/O.darwin.x86_64.gnu.opt/lib/objscip/objsepa.o
-> compiling obj/O.darwin.x86_64.gnu.opt/lib/objscip/objvardata.o
-> generating library lib/libobjscip-3.1.1.darwin.x86_64.gnu.opt.a
-> compiling obj/O.darwin.x86_64.gnu.opt/lib/lpi/lpi_spx.o
src/lpi/lpi_spx.cpp:76:10: fatal error: 'spxsolver.h' file not found
#include "spxsolver.h"
^
1 error generated.
make[1]: *** [obj/O.darwin.x86_64.gnu.opt/lib/lpi/lpi_spx.o] Error 1
make: *** [libs] Error 2
注意:我使用的是Mac OS X Yosemite 10.10.3
2 回答
问题是我正在安装
scip-3.1.1.tgz
而不是scipoptsuite-3.1.1.tgz
. 在scipoptsuite-3.1.1.tgz
上运行make
运行完全正常 .SCIP使用外部LP解算器(例如SoPlex(默认情况下))作为基础LP求解器 . LP编译器需要在编译时链接 . 这是你如何做到这一点:
下载并解压缩SoPlex并将其编译在单独的目录中,例如
~/soplex
将SoPlex链接到SCIP . 最简单的方法是从SCIP目录中调用
make links
有关详细信息,请参阅Installation guide of SCIP,尤其是第1步的示例 .