最近想用openssl库实现AES加解密算法功能,折腾了好几天才解决安装和使用功能。
我的开发环境:ARM和嵌入式Linux系统。交叉编译工具arm-linux-gnueabihf-gcc,我的openssl版本是openssl-1.0.2q,进入openssl所在文件夹目录后,执行命令:
./config no-asm shared --prefix=/home/yourinstallpath/arm-openssl
CC = arm-linux-gnueabihf-gcc
AR = arm-linux-gnueabihf-ar $(ARFLAGS) r
RANLIB = arm-linux-gnueabihf-ranlib
NM = arm-linux-gnueabihf-nm
,然后打开makefile文件,修改:删除所有-m64,然后执行编译make,编译完成后执行安装make install,全部完成后,就可以编程了。需要注意的是,编程完毕后,需要在makefile中加入链接命令,
CFLAGS += -I/home/yourpath/arm-openssl/include/
LIBS := /home/yourpath/arm-openssl/lib/libssl.a /home/yourpath/arm-openssl/lib/libcrypto.a
LIBS的两个库文件顺序不可以颠倒,编译工程时,加入这两个变量就不会出现#include<openssl/aes.h>: no such file or directory这种错误了。