在windows 8上编译Yap

Compiling Yap on windows 8

本文关键字:编译 Yap windows      更新时间:2023-10-16

我正在尝试在我的PC上编译yap,因为似乎yap默认安装程序没有启用深度限制标志。我需要它在Aleph的ILP项目中工作。

问题是,我被迫使用一台windows 8的电脑,没有足够的内存来运行Linux虚拟机。我让cygwin尝试安装它,但是一旦我到达安装的"make"阶段(http://www.dcc.fc.up.pt/~vsc/Yap/Yap4.3/yap.html#SEC2),我得到以下错误

$ make
Makefile:714: warning: overriding recipe for target 'yap.dll'
Makefile:545: warning: ignoring old recipe for target 'yap.dll'
gcc  -mno-cygwin -c -O3 -fomit-frame-pointer -Wall -Wstrict-prototypes -Wmissing-prototypes -g -O2 -DCUT_C=1  -DCOROUTINING=1 -DRATIONAL_TREES=1 -DDEPTH_LIMIT=1 -DHAVE_CONFIG_H -D_YAP_NOT_INSTALLED_=1 -I. -I../H -I../OPTYap -I../BEAM -I../MYDDAS ../C/agc.c -o agc.o
gcc: error: unrecognized command line option ‘-mno-cygwin’
Makefile:488: recipe for target 'agc.o' failed
make: *** [agc.o] Error 1

我想这是由于最新的YAP现在已经过时了,有人知道该怎么做来解决这个问题吗?

这个问题似乎已经过去很长时间了。但我想回答,因为这个问题仍然是相关的(我最近遇到这个问题)。

询问yap用户邮件列表,我能够解决这个问题。您可以在这里查看详细信息。

简而言之,使用MSYS2或MinGW-w64(安装了工具链)并在源代码中进行少量更改使其成为可能。

更改:

  • blob.c文件中添加#include <stdio.h>
  • 在整个项目中用HEAD(或其他名称)重构H。它定义在Regs.h第590行