关于OPENSSL在WINDOWS下编译和使用的坑

因为最近使用OPENSSL 编译使用RSA做开发,但是出现了各种问题。找了网上资源整合一下,不过还是有问题啊,在多次试验中终于找到了使用方法。

首先

    下载安装ActivePerl,地址:  http://www.activestate.com/activeperl/downloads/ ,安好了重启哈

   下载openssl源码,我使用的版本: openssl-1.0.1t ,地址:http://www.openssl.org/source/

openssl编译步骤:

32位编译:

1、到C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin目录(看VS安装目录了)去执行  vcvars32.bat,初始化环境变量。

也可以直接打开x86命令行工具就可以了啊(在VS安装程序目录里可以找到)


2、运行configure(定位到OPENSSL目录下面去运行,下面也是一样):

perl Configure VC-WIN32  。(Release版本)

perl Configure debug-VC-WIN32 。(Debug版本

3、生成配置文件:

ms\do_ms

4、动态编译:

nmake -f ms\ntdll.mak

5、静态编译:

nmake -f ms\nt.mak

64位编译:

1、直接打开x64命令行工具就可以了啊(在VS安装程序目录里可以找到)


2、运行configure:

perl ConfigureVC-WIN64  。(Release版本)

perl Configure debug-VC-WIN64 。(Debug版本)

3、生成配置文件:

ms\do_ms

4、动态编译:

nmake -f ms\ntdll.mak

5、静态编译:

nmake -f ms\nt.mak

安装好了都可这个测试一下

nmake -f ms\ntdll.mak test。

动态编译好的库在这里out32dll。静态的编译好的库在这里out32这里。头文件在inc32里面。在VC++工程记得添加头文件目录。和库目录。

像酱紫的:



注意几个问题:1、编译出现错误:ml啊cl啊之类的。将上面的bin目录添加到环境变量去啊。

 2、32位编译的库放在32位工程使用,64位编译的放在64编译使用,用错了会出现很多奇怪的未知问题。

比如在RSA有个PEM_read_RSA_PUBKY函数老是出错,主要是因为版本用错了,老是检查不了原因。所以得注意

 3、Debug版本用Debug的项目,Release版本用Release的项目

比如在RSA有个PEM_read_RSA_PUBKY函数老是出错,主要是因为版本用错了,老是检查不了原因。所以得注意


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值