问题描述
我重新安装了操作系统,从而重新安装了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
当我开始刷卡时,我会收到此提示消息
(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?
解决方法
在运行cmake之前是否已安装软件包gmp
和gmp-devel
?
安装它的命令可能是(使用zypper
):
zypper install libgmp10 gmp-devel
然后删除目录build
中的所有内容,然后从cmake
命令重新启动。