zoukankan      html  css  js  c++  java
  • OpenSSl编译

    1.下载openssl代码,下载地址:http://www.openssl.org/source/ ,如果使用winrar解压失败的话(提示不能创建符号链接),可以关闭UAC。
    2.下载安装ActivePerl,下载地址:http://www.activestate.com/activeperl
    3.从Windows开始菜单运行“Visual Studio Command Prompt (20xx)”
    4.进入openssl目录,例如 E:\openssl-1.0.1e,执行以下命令:

    编译X86
    E:\openssl-1.0.1e>perl Configure VC-WIN32 --prefix=E:\openssl-1.0.1e
    E:\openssl-1.0.1e>ms\do_ms
    E:\openssl-1.0.1e>nmake -f ms\nt.mak
    此时会产生一个out32目录,里面就是想要的东西。

    注意:
    以上是将openssl编译为静态链接的lib文件。如需编译为dll,最后一个命令改成
    D:\openssl-1.0.1e>nmake -f ms\ntdll.mak
    然后会生成out32dll里面

    需要生成debug版本就使用
    perl Configure debug-VC-WIN32 --prefix=E:\openssl-1.0.1e

    编译X64
    64位AMD版本(需要64位Visual Studio Command Prompt (20xx)):
    E:\openssl-1.0.1e>perl Configure VC-WIN64A --prefix=E:\openssl-1.0.1e
    E:\openssl-1.0.1e>ms\do_win64a

    编辑ms/nt.mak (或者ms/ntdll.mak),修改输入目录:
    # The output directory for everything intersting
    OUT_D=out64
    # The output directory for all the temporary muck
    TMP_D=tmp64
    # The output directory for the header files
    INC_D=inc64
    INCO_D=inc64/openssl

    E:\openssl-1.0.1e>nmake -f ms\nt.mak

    64位AMD debug版本:debug-VC-WIN64A(需要重新编辑nt.mak,改为out64.dbg之类)
    其实你在ms\do_*的时候是会修改*.mak文件的。

    VC2015编译的问题

    可能会因为你的sdk路径包含问题,提示找不到windows.h之类的头文件,此时需要修改环境变量,增加INCLUDE和LIB

    INCLUDE=C:\Program Files (x86)\Windows Kits\10\Include\10.0.10586.0\um;C:\Program Files (x86)\Windows Kits\10\Include\10.0.10586.0\shared;
    C:\Program Files (x86)\Windows Kits\10\Include\10.0.10586.0\ucrt

    LIB=C:\Program Files (x86)\Windows Kits\10\Lib\10.0.10586.0\um\x86;C:\Program Files (x86)\Windows Kits\10\Lib\10.0.10586.0\ucrt\x86

    64位的话需要删除前面的重新设置过!

    C:\Program Files (x86)\Windows Kits\10\Lib\10.0.10586.0\um\x64;C:\Program Files (x86)\Windows Kits\10\Lib\10.0.10586.0\ucrt\x64

    用完可以删除环境变量,其实应该在mak文件里面编辑下就可以了,但是我不知道怎么改,懂得人麻烦留下言

    如果之前用以前的vs版本编译过的话,需要清理临时文件,obj之类的

    如果汇编版本编译失败的话

    禁用汇编

    配置时用 perl Configure VC-WIN32 no-asm

    生成makefile时用 ms\do_nasm

    其它
    参考:http://blog.csdn.net/boise/article/details/5627191 (如何编译openssl x64)
    或者直接下载 win32-openssl(个人觉得比较坑爹)
    下载页面:http://slproweb.com/products/Win32OpenSSL.html
    注意选择开发者版本还是使用者版本。安装之前需要Vc2008运行库,不管你有没有安装高版本的运行库。

    如果提示 uplink.c(43) : error C2220: warning treated as error之类的错误的话,需要将ntdll.mak中的-WX去掉

  • 相关阅读:
    基于sshpass批量实现主机间的key验证脚本
    一键安装mysql5.7.30脚本
    centos8网卡名称修改
    mysql分库备份脚本
    centos一键二进制编译安装mariadb-10.2.31脚本
    chrony时间同步服务简介及配置
    linux基于key验证
    expect 脚本语言中交互处理常用命令
    shell中数值测试和算术表达式比较
    JAVA Math的简单运用
  • 原文地址:https://www.cnblogs.com/ultracpp/p/3463110.html
Copyright © 2011-2022 走看看