当前位置:首页 > 芯闻号 > 充电吧
[导读]网上方法很多,大部分是针对32位机的,自己的电脑因为是win7,64位,摸索了很久才安装成功. 环境WIN7, 64位, vs2010下载ActivePerl配置过程中需要生成一些mak文件,这些生成

网上方法很多,大部分是针对32位机的,自己的电脑因为是win7,64位,摸索了很久才安装成功.

 

环境

WIN7, 64位, vs2010


下载ActivePerl

配置过程中需要生成一些mak文件,这些生成代码用perl脚本生成,所以要安装一个ActivePerl.

 

网址: http://www.activestate.com/activeperl/

 

我下载了两个版本:

 

[css] view plain copy  ActivePerl-5.16.2.1602-MSWin32-x64-296513.msi   ActivePerl-5.16.2.1602-MSWin32-x86-296513.msi  



装的是第一个版本,64位的。


编译环境在vs的doc中执行,否则后面会错

下载openssl

网址 http://www.openssl.org/

我用的是openssl-0.9.8g版本,解压到c盘根目录。

 

安装步骤:

(可以参照openssl目录下的install.win32)

1打开命令行

进入openssl源码目录。
cd c:/openssl-0.9.8.g
执行perl Configure VC-WIN32

 

2在c:/openssl-0.9.8.g目录运行msdo_ms

另外两种方式如果使用也必须保证本机有编译器才能使用。

:msdo_masm(默认vc自带的编译器;也也以自己下载安装)

:msdo_nasm(需要自己下载)

 

3 DOS窗口转到C:Program FilesMicrosoft Visual Studio VC98bin目录(就是VC或VS对应的目录,你电脑可能有差异)

执行vcvars32.bat以配置环境变量.成功后显示如下:


 

4、跳到openssl目录下,编译动态链接库

cd c:/openssl-0.9.8.g
执行 >nmake -f msntdll.mak

 

如果编译成功,输出在out32dll目录下:包括可执行文件、两个dll和两个lib文件: libeay32.dll, libeay32.lib, ssleay32.dll,ssleay32.lib


如果遇到"ml不是内部或外部命令"这样的错误,找到你电脑里的ml.exe文件拷贝到当前目录重新执行即可。

 

这里要特别强调一下,这种方法生成的是动库链接库, 也就是我们的应用工程如果要使用openssl, 编译时要指定

lib文件,程序发布时要用到相应的dll. 我遇到过一种情况是, 在win7下发布的使用openssl的程序无法运行,弹出

“运行时初始化相关的错误”, 但是在xp下编译,发布,在其它win7和winXP上都能运行. 估计是win7下没配置好,导致只能本机编译,运行,无法发布.

 

如果要把openssl编译成静态的库,只要把上面的ntdll.mak换成nt.mak就可以了,我试着用了一个静态的库,发现要解决很多编译时的兼容,冲突问题,建议不要使用静态方法.


下面来测试一下。

建立工程

打开vs2010,

在additionalinclude directories加上

"C:openssl-0.9.8ginclude"

这个目录.

 

在additionallibrary directories加上

"C:openssl-0.9.8gout32dll"

这个目录

 

代码类似下面这样:


[cpp] view plain copy  #include

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

有移动计算的地方,就有Arm的存在。而Arm架构不断创新也与移动计算的需求发展紧密绑定在了一起。近年来,计算需求变得日益复杂,Arm也从2021年开始推出全面计算解决方案(TCS:Total Compute Soluti...

关键字: 64位 CPU GPU ARM

单片机已有50多年的历史。从最初的4位单片机到高端领域的64位单片机,证明了单片机的不断发展和完善。单片机的发展和普及已经应用到我们生活的每一个角落,这是人们所能看到的。那今天这篇文章就带大家来了解单片机被广泛应用的领域...

关键字: 单片机 数据通信 64位

所谓64位的计算机,就是指这台计算机使用了64位的CPU,相比较32位的CPU来说,64位CPU最为明显的变化就是增加了8个64位的通用寄存器,内存寻址能力提高到64位,以及寄存器和指令指针升级到64位等。”为了处理数据...

关键字: 32位 64位 寄存器

虽然微软曾经说过,Windows 10会作为一项服务,持续更新下去,不会再有Windows 11,但还是食言了

关键字: 64位 微软 windows11

  WIN7系统的网络功能比XP有了进一步的增强,使用起来也相对清晰。但是由于做了很多表面优化的工作,使得底层的网络设置对于习惯了XP系统的人来说变得很不适应,其中局域网组建就是一个很大的问题。默认安

关键字: 局域 win7

想必,每个人家里或多或少都会有一台旧电脑,对于旧电脑,你是怎么处理的呢?

关键字: win7 Linux lxle

  装Win7时设备管理器:PCI串行端口 PCI简易通讯控制器叹号,如何解决呢?(两个驱动更新方法一样)   首先,右键点击更新驱动程序      然后,选择浏览计算机

关键字: 控制器 PCI win7

又到了每天一期的极速鲨课堂时间。很多有自己安装系统经历的朋友都知道,即便是同一版本的windows系统也是分32位和64位两种的。那么32位和64位的两种系统有什么区别呢?这两种系统又有什么使用差异呢

关键字: 32位 64位 系统

  北京时间11月14日消息,微软周二发布了适用于Windows 7操作系统的IE10预览版,相对于此前版本进行了大量改进,用户可以前往微软官网windows.microsoft.com进行下载

关键字: 微软 win7 ie10

说到旧计算机,这确实是一个令人尴尬的存在!

关键字: Linux win7 lxle
关闭
关闭