zoukankan      html  css  js  c++  java
  • 交叉编译openssl1.1.1a

    ​ 交叉编译openssl1.1.1a的时候遇到的问题,记录一下,方便下次查找

    一、下载源码

    1.打开openssl官网,下载openssl-1.1.1.tar.gz源码包。

    2.执行下面的命令解压源码包:

       $ tar xvzf openssl-1.1.1.tar.gz
    

    二、配置openssl

    1.执行下面的命令配置工程

       $ ./config no-asm shared no-async --prefix=$(pwd)/install --cross-compile-prefix=arm-linux-
    

    其参数说明如下:

       no-asm:  在交叉编译过程中不使用汇编代码代码加速编译过程;
    
       shared: 生成动态连接库。
    
       no-async: 交叉编译工具链没有提供GNU C的ucontext库
    
       –prefix=: 安装路径
    
       –cross-compile-prefix=: 交叉编译工具
    
    1. 打开Makefile,删除里面所有的-m64和-m32编译选项。

    三、编译

    1.执行make编译工程;

    2.执行make install,在源文件路径会生成一个install文件。

    自己编译的时候使用的交叉编译工具链有点特殊,是在每次编译前运行一个shell来设置编译所需的环境变量(CC、CXX、AR等),这个时候编译可能会出问题,需要修改Makefile,注释以下几行:

    #CC=$(CROSS_COMPILE)gcc      #注释掉
    #CXX=$(CROSS_COMPILE)g++	#注释掉
    CPPFLAGS=
    CFLAGS=-Wall -O3
    CXXFLAGS=-Wall -O3
    LDFLAGS= 
    EX_LIBS= 
    
    MAKEDEPEND=$(CROSS_COMPILE)gcc  #不确定是否一定要注释掉,验证后再来说明
    
    PERL=/usr/bin/perl
    
    #AR=$(CROSS_COMPILE)ar	#注释掉
    ARFLAGS= r
    RANLIB=$(CROSS_COMPILE)ranlib	#不确定是否一定要注释掉,验证后再来说明
    RC= $(CROSS_COMPILE)windres		#不确定是否一定要注释掉,验证后再来说明
    RCFLAGS= 
    
    
  • 相关阅读:
    20151019
    20151013
    20150810
    20150626
    20150625
    20150530
    HTML特殊字符大全
    label标签跳出循环
    IIS 负载均衡
    .NET代码执行效率优化
  • 原文地址:https://www.cnblogs.com/ay-a/p/10889618.html
Copyright © 2011-2022 走看看