openssl库的编译,仅总结了linux下的编译,包含X86_X64和ARM平台

13 篇文章 0 订阅
11 篇文章 0 订阅

        在linux开发中,设置到安全认证或者数据加密时,往往设计到使用openssl。但是在有些嵌入式的环境下,系统一般不会带该库或者自带的库版本不满足开发要求,所以往往我们需要自己编译库文件,下面记录下在自己在编译过程中的步骤及遇到的问题,供日后参考使用。

1、openssl库的源码下载

        官网下载地址: http://distfiles.macports.org/openssl/   进去后选择自己需要的版本,右键复制地址后,使用下面的命令下载
                例如: wget  https://www.openssl.org/source/old/1.0.2/openssl-1.0.2k.tar.gz

2、ubuntu下编译安装openssl

        a.  ./config配置生成Makefile,-shared 表示生成动态库,也可通过参数 -prefix=xxx 自行指定安装目录,如下不配置则为默认安装路径(/usr/local/ssl/lib)
            
    b. make
    c. make install     
    d. 在以上的步骤中,可能遇到"perl: warning: Please check that your locale settings" 的问题,解决如下: 
        在终端执行:
            export LC_ALL=C  (参考:https://www.cnblogs.com/chenqionghe/p/11478269.html)
    e. LC_ALL=C  的含义:
        参考: https://www.cnblogs.com/wajika/p/6592659.html

 3、openssl 交叉编译

方式一:

        a. 交叉编译与Ubuntu编译类似,配置时通过【--prefix=绝对路径】选项指定安装路径(自行创建文件夹),然后修改Makefile文件,修改方式如下:

        b. 指定交叉编译工具链

               1. 修改CC

                2.删掉Makefile中的-m64   搜索-m64选项并删除,共两处
                3. make 
                4. make install

      参考: https://blog.csdn.net/fangye945a/article/details/86658621

方式二:

    不用修改Makefile的方式交叉编译openssl,
        1. 配置
            ./config no-asm shared --prefix=/home/huyh/curl/openssl/build_arm CROSS_COMPILE=/opt/EC20/sysroots/x86_64-oesdk-linux/usr/bin/arm-oe-linux-gnueabi/arm-oe-linux-gnueabi- CC=gcc
        2. make
        3. 参考文档   https://www.cnblogs.com/djw316/p/10786173.html

以上是个人学习中总结的过程,在期间参考了一些文档,在此表示感谢!

 

 

 

 

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
以下是在 Ubuntu 18.04 操作系统下,使用 gcc-linaro-7.5.0-2019.12-x86_64_arm-linux-gnueabihf 交叉编译 Qt 5.6.2 的流程: 1. 下载 gcc-linaro-7.5.0-2019.12-x86_64_arm-linux-gnueabihf 工具链,并解压到某个目录下。 2. 安装 Qt 5.6.2 的依赖: ``` sudo apt-get update sudo apt-get install build-essential perl python git sudo apt-get install libfontconfig1-dev libfreetype6-dev libx11-dev libxext-dev libxfixes-dev libxi-dev libxrender-dev libxcb1-dev libx11-xcb-dev libxcb-glx0-dev libxcb-keysyms1-dev libxcb-image0-dev libxcb-shm0-dev libxcb-icccm4-dev libxcb-sync-dev libxcb-xfixes0-dev libxcb-shape0-dev libxcb-randr0-dev libxcb-render-util0-dev libxcb-xinerama0-dev libxcb-xkb-dev libxslt1-dev libgl1-mesa-dev libglu1-mesa-dev libsqlite3-dev libmysqlclient-dev libpq-dev libiodbc2-dev libasound2-dev libgstreamer0.10-dev libgstreamer-plugins-base0.10-dev libxrandr-dev libgstreamer-plugins-base1.0-dev libgstreamer1.0-dev libgstreamer-plugins-good1.0-dev libgstreamer-plugins-bad1.0-dev libgstreamer-plugins-ugly1.0-dev gstreamer1.0-libav gstreamer1.0-alsa gstreamer1.0-pulseaudio libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libgstreamer-plugins-good1.0-dev libgstreamer-plugins-bad1.0-dev libgstreamer-plugins-ugly1.0-dev ``` 3. 下载 Qt 5.6.2 的源代码,并解压到某个目录下。 4. 进入 Qt 5.6.2 的源代码目录,执行以下命令: ``` ./configure -release -opengl es2 -device linux-rasp-pi2-g++ -device-option CROSS_COMPILE=/path/to/gcc-linaro-7.5.0-2019.12-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf- -sysroot /path/to/sysroot -opensource -confirm-license -make libs -prefix /usr/local/qt5arm -no-xcb -no-pch -no-icu -no-gif -no-libjpeg -no-libpng -no-harfbuzz -no-openssl -no-qml-debug -nomake examples -nomake tests ``` 其中,/path/to/gcc-linaro-7.5.0-2019.12-x86_64_arm-linux-gnueabihf 是 gcc-linaro-7.5.0-2019.12-x86_64_arm-linux-gnueabihf 工具链的路径,/path/to/sysroot 是交叉编译环境的根文件系统路径。 5. 执行 make 命令进行编译: ``` make -j4 ``` 其中,-j4 表示使用 4 个线程进行编译。 6. 执行 make install 命令进行安装: ``` sudo make install ``` 7. 完成后,在 /usr/local/qt5arm 目录下会生成 Qt 5.6.2 的安装文件。把该目录添加到交叉编译环境的 PATH 环境变量中即可使用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值