java中的接口是类吗
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 Schemescryptopp Linux版本编译参考::Crypto++ Wiki Linux Buildcryptopp 嵌入式Linux版本编译参考:Crypto++ Wiki ARM Embedded Buildcryptopp项目下载地址: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小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~