asp网站显示建设中,客户网站回访,怎么样提升网站权重,wordpress站长统计插件文章目录ABY的搭建以及使用前言ABY库的下载、安装及测试CLion配置后续杂项项目改名使用其他的库最后ABY的搭建以及使用
前言
仅做记录#xff0c;仅供参考#xff0c;不同人有不同的使用方式命令手敲#xff0c;可能有错#xff0c;自己辨识勿问#xff0c;我懂的也不多…
文章目录ABY的搭建以及使用前言ABY库的下载、安装及测试CLion配置后续杂项项目改名使用其他的库最后ABY的搭建以及使用
前言
仅做记录仅供参考不同人有不同的使用方式命令手敲可能有错自己辨识勿问我懂的也不多瞎搞的
ABY库的下载、安装及测试
Github 官网APT安装跳过推荐递归下载下载后备份这个库以防后面搞烂git clone --recursive https://github.com/encryptogroup/ABY.git
cp -r ABY ABY_bak编译及安装(推荐安装到非标准位置)cd ABY
mkdir build cd buildcmake .. -DCMAKE_INSTALL_PREFIX
make
mkdir /usr/local/ABY
make DESTDIR/usr/local/ABY install源码编译运行后有点问题需要修改cmake_constants.h is not found #197参考配置OPPRF-PSI密码学协议安装后在/usr/local/ABY里有库文件啥的但是make install安装后再编译运行自己的程序或者样例程序就总报各种错什么找不到relic啦之类的。所以我把/usr/local/ABY备份后删掉了其实只是要里面的include目录而已。zip -r ABY_include.zip /usr/local/ABY/include # 因为后面要在Windows下使用用zip打包方便一点而且我也不熟tar命令...
sz ABY_include.zip # 可能需要安装lrzsz: apt install lrzsz用xftp当我没说# 改名或备份
mv /usr/local/ABY /usr/local/ABY_bak
rm -rf /usr/local/ABY 要备份就备份吧我备份了后面好像没什么用初配建议还是备个份推荐改名回到ABY/build清空build里的东西rm -rf ./*测试测不测由你建议测测熟悉下流程 返回ABY修改CMakeList.txt删掉最后的ABY_BUILDE_EXE待会重新写一个 删掉开头这个option可选删不删无所谓反正用不到在最后添加子目录用于测试测不测随你add_subdirectory(src/ABY_TEST)你现在应该在ABY目录下在src内有测试样例但是很多选一个出来测试。mkdir src/ABY_TEST
cp -r src/examples/millionaire_prob/ src/ABY_TEST # 把百万富翁的样例copy出来由于路径比之前样例里的百万富翁的样例少了一层目录所以里面的cpp和.h文件里的include路径需要少掉一层../自己改就行记得common路径里也有代码也需要改 直接在ABY目录下编译运行cmake .
make顺利的话在bin目录内就能看到可执行文件能跑通就算成功 现在整个ABY目录下就算搭建好的框架了建议在这里面做工作
CLion配置
CLion挂载到ABY目录改下Mapping 在CLion下测试可以把百万富翁那个样例拉出来测试同样注意路径问题CMakeList自行修改给个参考 跑通就算成功提一嘴百万富翁这个例子需要输入参数并且需要两个终端运行CLion可以在配置出修改
后续
到这里虽然程序跑通了但是CLion没办法获取到ABY库的信息代码处都是报红。之前试过如果安装ABY库也就是前面提到的安装到/usr/local/ABY安装后CLion可以检索到ABY库include不报错代码不报红了但是跑不通了程序运行的时候提示找不到那些package。权衡利弊我最终选用的解决方案是ABY库安装后从云端拉到本地然后云端的ABY库删掉这样程序就能顺利运行了。然后把下载到本地的ABY库里的include里的文件拷贝到项目下然后把include 的部分换成include 这样代码就不会报错程序也能正常运行。 再提一嘴把ABY的include里的文件拷贝到项目内后可以设置这几个目录不同步到云端。还是在Deployment处前面在Mapping设置过挂载的路径在这里可以设置Excluded Paths
杂项
项目改名
CMakeList里project()可以修改项目名原本是ABY如果要改名的话注意在cmake路径下有一个文件ABYConfig.cmake.in如果只修改项目名的话会报错找不到cmake.in文件需要把ABYConfig.cmake.in文件改名为你的项目名Config.cmake.in
使用其他的库
建议在ABY里面的CMakeList上改加一些find_package()、add_executable()和target_link_libraries()应该是没什么问题的如果有其他的建议一条一条加加完cmake编译一下看看有没有问题在保证使用其他库后也能用的情况下能少加就少加不然可能不兼容血的教训具体得自己去排雷下面这句是没问题的 下面这句就出问题了
最后
最终效果就是Clion上代码显示正常无报错调试和运行也能在云端正常运行搭这玩意花了我两天建议新手学下CMakeList还得熟悉Clion与Docker的连接部署等操作参考我的上一篇博客Clion连接Docker使用HElib库搭了两天后的记录可能不太全面只提供了大致的思路细节方面需要自己去琢磨与尝试遇到其他问题也欢迎与我交流看到就会回不过每个人的需求不同根据自己的需求搭环境