当前位置:   article > 正文

OpenSSL+zlib+libssh2编译(windows)_win64 openssl libssh zlib

win64 openssl libssh zlib

由于项目需要,需要在windows上构建sftp的客户端,索性把这三个东西集成到windows的解决方案中。

OpenSLL编译

1.需要安装perl环境,去ActivePerl官网上下载ActivePerl,该文档撰写时使用的是5.8.8_x64版本;安装完成后,在cmd命令行中输入perl --version会显示当前的版本,否则需要将perl.exe所在的路径添加到系统的PATH环境变量中;需要注意的是,如果系统中有多个perl,那么需要将ActivePerl的环境变量放在第一个(MinGW的默写版本不能正确执行脚本)。

2.OpenSSL官网上下载源码包,建议使用0.9.8版本,本文档使用openssl-0.9.8zh.tar.gz版本,解压到本机目录中,建议路径名中不要包含中文名称;

3.配置&编译OpenSSL

  1. 进入openssl源码目录 cd /d D:\vobs\lib\openssl-0.9.8zh\
  2. 执行 perl Configure VC-WIN32
  3. 执行 ms\do_ms
  4. 调用VC环境变量设置call "C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\bin\vcvars32.bat"
  5. 执行 nmake -f ms\ntdll.mak

4.执行正确后,将会在openssl根目录的out32dll中生成一堆exedlllib;其中libeay32.libssleay32.lib是编译时需要的lib文件,libeay32.dllssleay32.dll是运行时需要的动态链接库文件,将其拷贝到所需要的目录下即可;

5.按照上述步骤编译出来的是opensslRelease版本,若编译Debug版本,需要将步骤3.c中的ms\do_ms.bat修改一下,原来的第23行:

perl util\mk1mf.plno-asm VC-WIN32 >ms\nt.mak
perl util\mk1mf.pldll no-asm VC-WIN32 >ms\ntdll.mak

改为

perl util\mk1mf.plno-asm debug VC-WIN32>ms\nt.mak
perl util\mk1mf.pldll no-asm debug VC-WIN32 >ms\ntdll.mak

zlib编译

1.去官网下载zlib的源代码包,本文档采用的是1.2.8;解压至本机硬盘;

2.配置&编译zlib

  1. 进入zlib源码目录 cd /d D:\vobs\lib\zlib-1.2.8\contrib\masmx86
  2. 执行 bld_ml32.bat
  3. 进入zlib源码目录 cd ..\vstudio\vc9
  4. 执行 vcbuild /rebuild zlibvc.vcproj "Debug|Win32"

3.全部执行正确后,将会在zlib-1.2.8\contrib\vstudio\vc9\x86\ZlibDllDebug\目录下生成zlibwapi.libzlibwapi.dll将其拷贝至所需目录下

libssh2编译

1.去官网下载libssh2的源代码包,本文档采用的是1.6.0;解压至本机硬盘;

2.编辑libssh2根目录下win32\config.mk文件,指定openssl以及zlib的相关信息;

3.libssh2根目录下执行nmake-f NMakefile

4.执行成功后在libssh2根目录下生成libssh2.liblibssh2.dll,同样的将其拷贝到所需目录下;

linux下进行libssh2编译时,如果需要调试信息,即debug版本时,需要在执行configure时加上--enable-debug的选项




声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/神奇cpp/article/detail/894710
推荐阅读
相关标签
  

闽ICP备14008679号