在 Windows msys2 下编译 scryer-prolog
by chesium 2022/7/24 深夜
参考:https://github.com/mthom/scryer-prolog/blob/master/README.md
采用 msys2 环境编译
On Windows, Scryer Prolog is easier to build inside a msys2 environment as some crates may require native C compilation. However, the resulting binary does not need msys2 to run. When executing Scryer in a shell, it is recommended to use a more advanced shell than mintty (the default msys2 shell). The Windows Terminal works correctly.
- 下载msys2:官网,并安装
- 安装耗时较长
- 不要安装在
C:\Program Files等路径包含空格的位置,不然后续编译中会报错。 - (可选)配置Windows Terminal终端:(最好加上管理员权限,如采用 gsudo)
<...>\msys2_shell.cmd -defterm -no-start
- 给 msys2 安装
diffutils和m4,不然后续编译会报错:pacman -S diffutils
pacman -S m4
- 安装 Rust(到 Windows 系统中即可),参照官网(安装时选
2) Customize installation,将默认为x86_64-pc-windows-msvc的基础编译工具更换为x86_64-pc-windows-gnu,其他选项采用默认。参考),并添加到 msys2 的环境变量中:export PATH=$PATH:/c/Users/<用户名>/.cargo/bin
- 同样的,将 Windows 下
gcc.exe所在的文件夹也添加到 msys2 的环境变量中,(不然后续编译会报错)格式见上。若未安装,可自行查找安装教程。 - 克隆代码库:
https://github.com/mthom/scryer-prolog.git至任意文件夹(最好到msys2的home/<username>文件夹里),将 msys2 终端cd到该目录中。 - 编译:在 msys2 终端中执行
cargo run --release,如果嫌输出信息太少感觉卡住了可以加上-vv选项- 编译过程耗时较长,其中最后的
openssl和gmp-mpfr-sys编译耗时最长,前面讲到的“不做就会报错”的“报错”基本都是在编译gmp-mpfr-sys时产生的。
- 编译过程耗时较长,其中最后的
- 编译完成后
<代码库路径>/target/release/scryer-prolog.exe"即为输出。(就是一个单文件,无需额外的库文件了)
最后输出的单.exe文件有133MB,我觉得太大了,更成熟的SWI-Prolog只占用44MB(v8.4.0版本)。
作者的README中还提到可以为 scryer-prolog 生成一个.msi安装包,不过我试了一下,生成的安装包就只是简单地把scryer-prolog.exe复制到了C:\Program Files中的一个文件夹里,没啥意义。
在 Windows msys2 下编译 scryer-prolog的更多相关文章
- Libevent windows/linux下编译
1.windows下: 编译环境: windows xp sp3 + vs2010 (1) 解压libevent-2.0.21-stable.tar.gz到D:\libevent-2.0.21- ...
- Openstack 二次开发之:在windows 环境下编译Openstack-java-sdk
在windows环境下使用maven对openstack-java-sdk进行编译 编译源文件 下载源代码 git clonehttps://github.com/woorea/openstack-j ...
- WebKit 在 Windows 平台下编译小结
虽然WebKit 已经越来越多的被广大程序员接受,但其编译过程却非常之痛苦.下面将我编译WebKit 代码的经验与大家分享. 1) 获取WebKit 源代码 WebKit 源代码是使用Subversi ...
- 在Windows 环境下编译Qt静态库(QT5.32)
参考链接 Qt5.3 Tools and Versions MinGW ICU ActivePerl Qt 安装MinGW工具链环境 这里在Win32环境下要安装一个MinGW工具链,这里最好是先安装 ...
- 在windows环境下编译hadoop
1.环境准备 1.1 JDK的安装 下载jdk1.6.0_43(这里务必要使用jdk的1.6版本,因为使用JDK1.7版本编译hadoop的时候,很多Maven依赖下载不完整,最终会报错)解压到,并将 ...
- Windows环境下编译Assimp库生成Android可用的.so或.a文件
在做项目过程中需要使用Assimp这个3D模型读取库来读取obj格式的模型,因为项目是基于Android平台,采用NDK开发,所以就打算编译Assimp库并生成.so文件.本文使用Assimp-v.5 ...
- 【Code::Blocks】windows 环境下编译 Code::Blocks(已修正)
Code::Blocks 在2012-11-25发布了最新的12.11版本,相比上一个版本(10.05),Code::Blocks 进行了许多改进和更新(Change log). 引用 Wikiped ...
- 实用图像处理入门 - 2 - Windows平台下编译openCV
标签中的部分 font-family: 华文细黑; font-size: 26px; font-weight: bold; color: #611427; margin-top:40px; } h2 ...
- go语言在Windows系统下编译成linux系统可执行文件
package main import ( "fmt" "os" "os/exec" ) //filepath: 要编译的文件的路径 fun ...
随机推荐
- pytorch入门--土堆深度学习快速入门教程
工具函数 dir函数,让我们直到工具箱,以及工具箱中的分隔区有什么东西 help函数,让我们直到每个工具是如何使用的,工具的使用方法 示例:在pycharm的console环境,输入 import t ...
- ajax 请求登录超时跳转登录页解决方法
在Filter里判断是否登录,如果未登录返回401状态 public class SelfOnlyAttribute : ActionFilterAttribute { public override ...
- spring boot 中接口参数为枚举时的反序列化配置(总结)
步骤 如果是 GET 请求中需要反序列化枚举值(即 url 中的参数[querystring]),确保以下两点 1.1. 重写 StringToEnumConverterFactory 1.2. 配置 ...
- 详细剖析pyecharts大屏的Page函数配置文件:chart_config.json
目录 一.问题背景 二.揭开json文件神秘面纱 三.巧用json文件 四.关于Table图表 五.同步讲解视频 5.1 讲解json的视频 5.2 讲解全流程大屏的视频 5.3 讲解全流程大屏的文章 ...
- Python数据分析--工具安装及Numpy介绍(1)
Anaconda 是一个跨平台的版本,通过命令行来管理安装包.进行大规模数据处理.预测分析和科学计算.它包括近 200 个工具包,大数据处理需要用到的常见包有 NumPy . SciPy . pand ...
- 103_Power Pivot 透视表中空白标签处理及百分比
焦棚子的文章目录 请点击下载附件 1.案例来源于不断变化的需求 事实表:销售表 维度表:城市表 销售表和城市建立多对一的关系 如图1: 图1 2.插入透视表 如图2: 图2 3.问题 1.销售表中,城 ...
- 场景实践:使用RDS和ECS搭建个人博客
体验简介 本教程将使用一台基础环境为CentOS7.7的云服务器ECS实例, 搭配您已有的云数据库RDS实例,帮助您快速搭建属于自己的云上博客. 背景知识 本场景主要涉及以下云产品和服务: 阿里云关系 ...
- TornadoFx设置保存功能((config和preference使用))
原文地址:TornadoFx设置保存功能(config和preference使用) 相信大部分的桌面软件都是存在一个设置的界面,允许用户进行设置的修改,此修改之后需要保存的本地,若是让开发者自己实现, ...
- 行列式&矩阵树定理
行列式: 参考 oi-wiki 定义 对于一个\(n*n\)的矩阵A行列式取值(标量) \(det(A)=|A|=\sum\limits_p(-1)^{\tau(p)}\prod\limits_{i= ...
- Java绘图基础
<零基础学Java> Java绘图基础 绘图是高级程序设计中非常重要的技术,例如,应用程序需要绘制闪屏图像.背景图像.组件外观Web程序可以绘制统计图.数据库存储的图像资源等. Graph ...