Linux aarch64交叉编译之 cryptopp加密库

网友投稿 478 2022-11-05


Linux aarch64交叉编译之 cryptopp加密库

对于cryptopp项目的交叉编译。该文章的目标是编译一套aarch64 Linux Debian嵌入式版本上可以运行的版本库,接下来就开始趟坑。老套路,先把linux桌面版搞好,然后 移植到嵌入式Linux Debian 板子上。

1 cryptopp简介

Crypto是一个C++ 加密方案类库,简而言之,就是一个算法库。该库包含了以下算法:

cryptopp 官网 截图

支持的算法还是蛮多的,一般我们常见的MD5、SHA、RSA都有。当然,第一次下载cryptopp这个库 ,头这个大阿,头文件、源文件都混在 项目根目录下,一看就是有年代的东西了,于是看了下这个库的起源... 原来是2002年的老古董。迄今为止20年的历史了。说明可靠性还是可以的。接下来搞起来~,cryptopp 学习和使用 常见网站总结下:

cryptopp官方首页学习:​​Free C++ Class Library of Cryptographic Schemes​​cryptopp Linux版本编译参考::​​Crypto++ Wiki Linux Build​​cryptopp 嵌入式Linux版本编译参考:​​Crypto++ Wiki ARM Embedded Build​​cryptopp项目下载地址:​​Linux 本地编译 & 交叉编译

2.1 Linux(ubuntu20.04)上cryptopp的编译

这个老古董编译还是很方便的,直接进来 make 或者 make static就行。如果想编译动态库就直接执行 make shared即可。当然,也可以使用make GNUmakefile。总结如下:

#1 编译#静态库编译$make 或者$make static#动态库编译$make shared#多线程直接编译,出来默认也是静态库$make -f GNUmakefile -j24#2 安装make install PREFIX=out_x86_64

这个编译流程 还是很感人的~~~大家自行体会。最后生成的lib库内容为:

├── libcryptopp.a├── libcryptopp.so -> libcryptopp.so.8.7.0├── libcryptopp.so.8 -> libcryptopp.so.8.7.0└── libcryptopp.so.8.7.0

说明:一般情况下cryptopp库是使用静态库较多且稳定性 可靠性也都是刚刚滴~。

2.2 aarch64交叉编译与移植

因为是用aarch64交叉编译,需要提前配置环境,安装如下软件:

sudo apt install binutils-aarch64-linux-gnu-dbg binutils-aarch64-linux-gnu cpp-aarch64-linux-gnu \g++-10-aarch64-linux-gnu g++-9-aarch64-linux-gnu g++-aarch64-linux-gnu g++ \gcc-10-aarch64-linux-gnu-base gcc-9-aarch64-linux-gnu-base gcc-aarch64-linux-gnu \pkg-config-aarch64-linux-gnu qemu-efi-aarch64 gcc arch-test

对于cryptopp的交叉编译就简单很多了,只需要执行

export CXX=aarch64-linux-gnu-g++

之后 和linux桌面版的编译方式一致,区分开安装目录,如下:

#1 编译#静态库编译$make 或者 $make static#动态库编译$make shared#2 安装make install PREFIX=out_aarch64


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:天眼查公司查询企业查询API(天眼查公司查询企业查询安居物业)
下一篇:Java中BigDecimal类的add()的使用详解
相关文章

 发表评论

暂时没有评论,来抢沙发吧~