Ubuntu安装openssl

动态库安装

  1. 到官网下载openssl,此处选择的openssl-1.1.1o.tar.gz,官网地址
  2. 将下载的文件移动到主目录下
mv openssl-1.1.1o.tar.gz /home/username

  将username替换为自己的用户名

  1. 到移动后的目录下打开终端,解压文件,并修改解压后的文件夹的名字
tar -zxvf openssl-1.1.1o.tar.gz
mv openssl-1.1.1o openssl
  1. 切换到解压目录下
cd openssl
  1. 指定安装目录,此处我安装到了/usr/local/openssl
./config --prefix=/usr/local/openssl
  1. 进行编译
sudo make

  可能会出现 fatal error:zlib.h No such file or directory
Ubuntu安装openssl_第1张图片
解决方法:

  • 到zlib官网下载zlib-1.2.13.tar.gz:zlib官网
  • 对其进行解压
tar -zxvf zlib-1.2.13.tar.gz
  • 切换到其目录下,依次执行以下命令
cd zlib-1.2.13
./configure
make test
make install
make clean
./configure --shared
make test
make install
  • 然后将下面两个文件复制到指定目录
cp zutil.h /usr/local/include
cp zutil.c /usr/local/include
  • 解决后重新进行编译
sudo make
  1. 进行安装
sudo make install
  1. 安装完成后,编辑环境变量
# 进入文件/etc/profile
sudo gedit /etc/profile

# 在文件最后加上如下代码
export C_INCLUDE_PATH=$C_INCLUDE_PATH:/usr/local/openssl/include
export CPLUS_INCLUDE_PATH=$CPLUS_INCLUDE_PATH:/usr/local/openssl/include
export LIBRARY_PATH=$LIBRARY_PATH:/usr/local/openssl/lib
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/openssl/lib

  然后我们查看openssl的信息:
请添加图片描述
  可以看到,输入openssl指令后,下面执行的可执行程序为1.1.1,这是Ubuntu系统原先自带的openssl库,这个库是没有头文件与库文件的,开发人员进行相关开发的时候是没办法使用的,但是通过安装openssl库,我们在日后的开发中就可以调用了。安装完成后,可执行程序依然是旧版,但是其内部调用的库是刚安装的显示的这个2022年的。

  1. QT开发中对其进行调用
  • 项目添加配置
# 在qt项目.pro文件中添加openssl头文件以及动态库的配置
INCLUDEPATH += /usr/local/openssl/include
LIBS += /usr/local/openssl/lib/libssl.so /usr/local/openssl/lib/libcrypto.so
  • 程序对其进行调用
#include 
#include 
#include 

10: 日常小项目的调用
  如果日常小项目要调用openssl库,直接#include 就可以了,在编译的时候,后面加个-lcrypto,如下:

g++ test.cpp -lcrypto

静态库安装

  1. 编译库
      下载好安装包以后,对其进行解压,进入解压包,然后依次执行:
 ./config -fPIC no-shared
 make

  就会在此解压包中编译出libssl.alibcrypto.a两个库文件

  1. QT调用
  • 将解压包中include下的openssl文件夹拷贝到项目文件夹下
  • 在项目文件夹下建立lib文件夹,将libssl.alibcrypto.a拷贝到其中
  • 在项目的pro文件中加入:
LIBS += $$PWD/lib/libssl.a
LIBS += $$PWD/lib/libcrypto.a
LIBS += -ldl
  • 然后在项目中调用openssl库即可

你可能感兴趣的:(Linux,Qt,ubuntu,linux)