在Windows环境下安装SEAL同态加密库
最近需要使用SEAL库来编写加解密方案,而SEAL在Windows环境下的安装比较麻烦,记录一下安装过程
基础环境
- 平台:Windows10
- 软件:Visual Studio 2022、git
在安装时,需要下载安装git软件,如果没有,后期在cmake的时候会发生错误,无法下载依赖。
安装Visual Studio 2022去官网下载,双击运行之后选择一下两种开发方式。

步骤
- 先到Github上将SEAL源代码下载下来,然后解压到本地英文路径下。使用Developer Command Prompt For VS 2022 终端(下载visual后自带的,需要使用管理员身份打开)打开目录,依次执行命令。

-
进入界面后,进入SEAL的解压目录,然后运行以下三条命令:
cmake -S . -B build -G "Visual Studio 17 2022" -A x64 cmake --build build --config Release cmake --install build![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5hNShLQA-1669603852284)(E:\课程学习\blog\SEAL\img\image-20221128103526152.png)]](/https://i-blog.csdnimg.cn/blog_migrate/068e758e9ab561c569f961d9329bb05c.png)
注:如果没有git,在执行第一条命令会发生错误,这是因为无法用git下载安装依赖,如果有git但是仍然报错,那就是网络原因,建议多试几次或者换个时间段试试。如果没有使用管理员打开,则执行第三条命令会无法创建文件夹。
-
编译运行完成后,在SEAL文件夹下会出现build文件夹,其中有很多文件
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-SkPyJVX9-1669603852285)(E:\课程学习\blog\SEAL\img\image-20221128103214153.png)]](/https://i-blog.csdnimg.cn/blog_migrate/ed12be95089d9f5771d02af33d682ea6.png)
配置
执行完毕后使用Visual Studio 2022创建一个新项目(可以是默认的控制台应用),然后进入项目属性编辑附加包含目录,C++语言标准,以及链接器,最后在附加连接器中添加seal库。
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-W4KZQ2vg-1669603852285)(E:\课程学习\blog\SEAL\img\image-20221128104346510.png)]](/https://i-blog.csdnimg.cn/blog_migrate/5a84d85c80a0f1a1fa281923b58c9064.png)
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Uebe7TZl-1669603852286)(E:\课程学习\blog\SEAL\img\image-20221128104507524.png)]](/https://i-blog.csdnimg.cn/blog_migrate/2eb3b969c507a7fe5ac51f5b41665022.png)
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-WhSVYxcx-1669603852286)(E:\课程学习\blog\SEAL\img\image-20221128104704571.png)]](/https://i-blog.csdnimg.cn/blog_migrate/92c65969af420afa4220773bcc323cfc.png)

到这,基本的配置就算是完成了。导入SEAL库也能实现,基本的数据操作没有问题。
运行实例
在看了一下bfv的例子之后,自己跟着写了一遍,跑了一下。如果需要看,建议到seal\native\examples文件夹下去查看实例的源码。而我自己也没完全理解,就不放代码了,seal自带的例子写得很详细,建议去看那个。接下来说一下运行的问题。
运行的时候我们需要选择Release模式,不能使用默认的debug模式,会报错。

本文档详细记录了在Windows10上安装和配置SEAL同态加密库的过程,包括使用VisualStudio2022、下载源码、通过cmake构建和安装,以及在项目中配置附加包含目录和链接器。强调了需以管理员权限运行DeveloperCommandPromptForVS2022,选择Release模式运行以避免错误。



7926

被折叠的 条评论
为什么被折叠?



