在Windows下使用汇编方式编译OpenSSL方法
来源:互联网 发布:犀牛软件的模型 编辑:程序博客网 时间:2024/06/10 14:45
1. 安装perl,perl可以从http://www.activestate.com/ActivePerl下载。
2. 安装编译器(任意一个都可以),我仅以Visual C++.net2003为例子。
Visual C++
Borland C
GNU C (Cygwin or MinGW)
Borland C
GNU C (Cygwin or MinGW)
3. 使用汇编方式编译时,需要安装汇编语言编译器。MASM,NASM都可以。如果速度要求
不高,可以不用汇编的方式编译,即不需要安装。MASM一般由VC++自带,Windows NT 4.0
DDK 和Windows 98 DDK也带有MASM。(经过自己测试这个自带编译器的行不通),需要下载MASM重新安装(下载网址:
http://www.x86asm.com/DisplayArticle.asp?BoardID=8&ArticleID=63)安装时一路默认即可。
安装成功后在其安装目录的bin文件夹下找到ml.exe和ml.err两个文件并将其拷贝之
Syetem32目录下;此时还不要高兴的太早!使用MASM编译时会出现如下问题:
Assembling: ./crypto/sha/asm/sha512-sse2.asm ./crypto/sha/asm/sha512-sse2.asm(29) : error
A2006: undefined symbol : XMMWORD。
这个问题很棘手,网上说是./crypto/perlasm/x86ms.pl中对masm的版本定义不对,并且利用
OpenSSL给出的一个补丁也不能解决,我的解决办法是使用NASM编译。
在上述步骤的基础上下载NASM的编译器(地址:http://www.kernel.org/pub/software/devel/nasm/binaries/win32/)我下载的版本是nasm-0.98.39-win32.zip,下载成功后解压缩将其文件中的nasmw.exe和ndisasmw.exe也拷贝之System32目录下,这样编译环境就建好了,下面按步骤开始编译程序:
a. 从开始-->Microsoft Visual Studio .NET 2003-->Visual Studio .NET 工具-->Visual Studio .NET 2003 命令提示进入命令行,因为从这里进去后,和C++相关的环境变量都已经设置好了
b. 转换到OpenSSL目录,比如:E:/openssl-0.9.8g
c. 输入:perl Configure VC-WIN32
d. 输入:ms/do_nasm
e. 输入:nmake -f ms/ntdll.mak
如果没有错误的话,编译就通过了,在out32dll目录下面就可以看到,生成的dll文件和可执行文件了。
下面几个网址可以借鉴,但都不能正确编译出来:
http://www.cnblogs.com/myopq/archive/2006/11/29/576245.html
- 在Windows下使用汇编方式编译OpenSSL方法
- 在Windows下编译OpenSSL
- 在Windows下编译OpenSSL
- OpenSSL在windows下编译
- OpenSSL在Windows下使用vs2010的编译安装
- 关于OPENSSL在WINDOWS下编译和使用的坑
- 在Windows下用MinGW编译OpenSSL,及OpenSSL静态链接库libcrypto.a使用问题
- 在windows下怎么编译openssl
- OpenSSL在Windows下的编译安装
- 在Windows环境下编译OpenSSL
- openssl 在windows下的编译
- 在Windows下编译OpenSSL(VS2005)
- openssl在windows下安装编译
- 在Windows下编译OpenSSL(VS2005)
- 在Windows下编译OpenSSL(VS2005)
- 在Windows下编译OpenSSL(VS2005)
- 在Windows下编译OpenSSL(VS2005)
- OpenSSL在Windows下的编译安装
- 无法远程登入MySQL数据库的几种解决办法 姚博文
- WebLogic JDBC & Transaction 版精华总结
- linux下查找一般文件方法
- 基于Carbide.c++的Symbian开发环境搭建
- C/C++学习笔记:指针传值
- 在Windows下使用汇编方式编译OpenSSL方法
- 老IT人追忆十五年IT从业经历
- C/C++学习笔记:传值方式对比
- Weblogic报连接已关闭错误
- Symbian真机上写日志
- 搭建Symbian开发环境--与多种IDE的集成
- 剖析RedHat Linux中三个重要内核文件
- 自动判断浏览器类型并读取相应CSS的代码
- 自动判断浏览器类型并读取相应CSS的代码