这是一个特定的问题,但是,我无法让cmake和make在Fedora 23中编译另一个Prolog。在Github上克隆了最新的repo,YAP 6.3.4。我的朋友在他的Funtoo Linux上成功地运行了cmake和make。当我在Fedora 23上运行它们时,我得到了奇怪的错误,只有当CUDD头文件丢失时才有意义,但CUDD是随头文件一起安装的。
我希望任何人都有足够的经验来提供一个原因,为什么cmake生成的Makefile在一个Linux系统上编译失败,而在另一个Linux系统上编译。
以下是make错误的示例(使用cmake制作的Makefile没有错误)。“未知”类型名在我的系统上安装的CUDD头文件中。源文件cplint应该是使用CUDD构建的
% YAP 6.3.4-76638bb7 (compiled 2016-09-01T01:01:57@dhcp-129-8-62-64)
In file included from /home/safulop/yap-6.3/packages/cplint/cplint_yap.c:15:0:
/home/safulop/yap-6.3/packages/cplint/cplint.h:41:3: error: unknown type name ‘DdNode’
DdNode * * booleanVars;
^
/home/safulop/yap-6.3/packages/cplint/cplint.h:54:3: error: unknown type name ‘DdNode’
DdNode *key;
^
/home/safulop/yap-6.3/packages/cplint/cplint.h:64:33: error: unknown type name ‘DdManager’
variables createVars(YAP_Term t,DdManager * mgr, int create_dot,
^
/home/safulop/yap-6.3/packages/cplint/cplint.h:69:1: error: unknown type name ‘DdNode’
DdNode * retFunction(DdManager * mgr, expr expression,variables v);
^
/home/safulop/yap-6.3/packages/cplint/cplint.h:69:22: error: unknown type name ‘DdManager’
DdNode * retFunction(DdManager * mgr, expr expression,variables v);
^
/home/safulop/yap-6.3/packages/cplint/cplint.h:70:1: error: unknown type name ‘DdNode’
DdNode * retTerm(DdManager * mgr,term t,variables v);
^发布于 2020-01-04 01:52:00
正如您所说,问题来自CUDD库。你需要在Makefile中修复CUDD的包含目录文件夹...
https://stackoverflow.com/questions/39285514
复制相似问题