prolog - 不知何故,我在没有无限整数支持的情况下构建了 SWI-Prolog。我需要使用需要这种支持的谓词
问题描述
我重新安装了我的操作系统,因此重新安装了 SWI-Prolog。
这是我为安装运行的确切命令。
git clone https://github.com/SWI-Prolog/swipl-devel.git
cd swipl-devel
git submodule update --init
cd swipl-devel
mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/logic -G Ninja ..
ninja
ctest -j 4
ninja install
我在尝试使用非忍者安装方法时遇到了问题(但那是另一篇文章)。
当我开始 swipl 我得到这个揭示信息
(ins)nick@nickSUSE:~/prolog/scheduler> swipl base.pl
Warning: /home/nick/prolog/scheduler/base.pl:1:
Warning: Using CLP(FD) with bounded arithmetic may yield wrong results.
blah blah blah
我发现发生这种情况的唯一原因是因为我整个项目中最基本的谓词是基于divmod/4的!文档明确指出,只有在 swipl 安装了未绑定整数支持时才能使用此谓词。
我重新安装了 SWI-Prolog 并遇到了同样的问题。我该怎么做才能使用 divmod/4?
解决方案
您是否安装了软件包gmp
并且gmp-devel
在运行 cmake 之前?
安装它的命令可能是(使用zypper
):
zypper install libgmp10 gmp-devel
然后删除目录中的所有内容build
并从cmake
命令重新启动。
推荐阅读
- angular - 如何在 p-inputMask 字段上禁用浏览器自动完成功能?
- 3d - 我如何使用 keras 创建 3d 输入/3d 输出卷积模型?
- ionic3 - 可以选择使用 Toast 重试操作不起作用
- postgresql - 如何将 postgres 变量引用为变量,而不是文字
- spring - 在一个容器中运行 Spring Boot/PostgreSQL 应用程序
- c# - 用户通过身份验证时调用 Web Api 方法
- dart - 在 Dart 中更新地图
- c# - 在 Razor 类库中引用类
- swift - Finder 同步扩展不会运行
- javascript - 在 lodash 中使用双重 groupBy