Windows环境下使用VS2005编译OpenSSL
2013-03-16 00:48
573 查看
如何Windows环境下,使用VS2005编译OpenSSL,虽然这个问题在Baidu、Google上一堆,但安装中还是遇到些问题,在这里记录下来希望能帮助大家不要在走弯路。注:我是在WinXP SP3下使用VS2005SP1下编译成功的,OpenSSL的版本是0.9.8l。
http://www.cnblogs.com/moonset7/archive/2009/12/18/1627317.html by
月落上弦
准备工作:
下载OpenSSL源码 官方网站下载OpenSSL:http://www.openssl.org/source/
安装ActivePerl 官方网站下载ActivePerl:http://www.activestate.com/activeperl/
编译步骤:
1. 使用VS2005下的Visual Studio 2005 Command Prompt进入控制台模式
开始菜单->所有程序->Microsoft->Microsoft Visual Studio 2005->Visual Studio Tools->Visual Studio 2005 Command Prompt
2. 进入openssl源码的目录
命令行键入 cd D:\openssl-0.9.8l //把路径替换成自己的源码路径
3. 命令行键入 perl configure VC-WIN32
如果没安装ActivePerl将无法执行
4. 命令行键入 ms\do_ms
这中间我遇到了两处报告%OSVERSION% is not defined at util/pl/VC-32.pl line 57.和Compilation failed in require at util\mk1mf.pl line 151. 好像可以忽略,反正我最后还是编译成功了。
命令行信息
D:\openssl-0.9.8l>ms\do_ms
D:\openssl-0.9.8l>perl util\mkfiles.pl 1>MINFO
D:\openssl-0.9.8l>perl util\mk1mf.pl no-asm VC-WIN32 1>ms\nt.mak
D:\openssl-0.9.8l>perl util\mk1mf.pl dll no-asm VC-WIN32 1>ms\ntdll.mak
D:\openssl-0.9.8l>perl util\mk1mf.pl no-asm VC-CE 1>ms\ce.mak
%OSVERSION% is not defined at util/pl/VC-32.pl line 57.
Compilation failed in require at util\mk1mf.pl line 151.
D:\openssl-0.9.8l>perl util\mk1mf.pl dll no-asm VC-CE 1>ms\cedll.mak
%OSVERSION% is not defined at util/pl/VC-32.pl line 57.
Compilation failed in require at util\mk1mf.pl line 151.
D:\openssl-0.9.8l>perl util\mkdef.pl 32 libeay 1>ms\libeay32.def
D:\openssl-0.9.8l>perl util\mkdef.pl 32 ssleay 1>ms\ssleay32.def
5. 编译分两种情况,生成静态库和动态库
(1) 如果是编译OpenSSL动态库,则在命令行键入 nmake -f ms\ntdll.mak
编译成功课在文件夹out32dll里面查看输出的文件,包括应用程序的exe文件、lib文件、dll文件。
(2) 如果是编译OpenSSL静态库,则在命令行键入 nmake -f ms\nt.mak
编译成功课在文件夹out32里面查看输出的文件,包括应用程序的exe文件、lib文件。
到此编译已经完成,将OpenSSL下的include文件夹、lib文件、dll文件考出,使用的时候包含进去就行了。
另外还有几个命令可能会用到:
测试OpenSSL动态库:nmake -f ms\ntdll.mak test
测试OpenSSL静态库:nmake -f ms\nt.mak test
安装OpenSSL动态库:nmake -f ms\ntdll.mak install
安装OpenSSL静态库:nmake -f ms\nt.mak install
清除上次OpenSSL动态库的编译,以便重新编译:nmake -f ms\ntdll.mak clean
清除上次OpenSSL静态库的编译,以便重新编译:nmake -f ms\nt.mak clean
编译OpenSSL可能遇到的问题:
1. 启用Windows控制台(运行cmd)进行编译,执行第5步nmake -f ms\ntdll.mak或nmake -f ms\nt.mak会报错:
'nmake' 不是内部或外部命令,也不是可运行的程序或批处理文件。
2. 启用SDK Command Prompt进行编译,执行第5步nmake -f ms\ntdll.mak或nmake -f ms\nt.mak会报错:
ms\uplink.c(11) : fatal error C1083: Cannot open include file: 'windows.h': No such file or directory
NMAKE : fatal error U1077: '"D:\Program Files\Microsoft Visual Studio 8\VC\bin\cl.EXE"' : return code '0x2' Stop.
上述问题解决方案:
1. 严格按第1步操作,启动Visual Studio 2005 Command Prompt进行编译,这个会自动配置环境。
2. 在执行第5步nmake -f ms\ntdll.mak前,进入D:\Program Files\Microsoft Visual Studio 8\VC\bin路径下(替换成自己的VC安装路径),命令行键入vcvars32,运行vcvars32.bat。然后再回到OpenSSL源码的目录(D:\openssl-0.9.8l),再执行第5步nmake -f ms\ntdll.mak或nmake -f ms\nt.mak
特别是【2. 在执行第5步nmake -f ms\ntdll.mak前,进入D:\Program Files\Microsoft Visual Studio 8\VC\bin路径下(替换成自己的VC安装路径),命令行键入vcvars32,运行vcvars32.bat。然后再回到OpenSSL源码的目录(D:\openssl-0.9.8l),再执行第5步nmake
-f ms\ntdll.mak或nmake -f ms\nt.mak】
太强大了
http://www.cnblogs.com/moonset7/archive/2009/12/18/1627317.html by
月落上弦
准备工作:
下载OpenSSL源码 官方网站下载OpenSSL:http://www.openssl.org/source/
安装ActivePerl 官方网站下载ActivePerl:http://www.activestate.com/activeperl/
编译步骤:
1. 使用VS2005下的Visual Studio 2005 Command Prompt进入控制台模式
开始菜单->所有程序->Microsoft->Microsoft Visual Studio 2005->Visual Studio Tools->Visual Studio 2005 Command Prompt
2. 进入openssl源码的目录
命令行键入 cd D:\openssl-0.9.8l //把路径替换成自己的源码路径
3. 命令行键入 perl configure VC-WIN32
如果没安装ActivePerl将无法执行
4. 命令行键入 ms\do_ms
这中间我遇到了两处报告%OSVERSION% is not defined at util/pl/VC-32.pl line 57.和Compilation failed in require at util\mk1mf.pl line 151. 好像可以忽略,反正我最后还是编译成功了。
命令行信息
D:\openssl-0.9.8l>ms\do_ms
D:\openssl-0.9.8l>perl util\mkfiles.pl 1>MINFO
D:\openssl-0.9.8l>perl util\mk1mf.pl no-asm VC-WIN32 1>ms\nt.mak
D:\openssl-0.9.8l>perl util\mk1mf.pl dll no-asm VC-WIN32 1>ms\ntdll.mak
D:\openssl-0.9.8l>perl util\mk1mf.pl no-asm VC-CE 1>ms\ce.mak
%OSVERSION% is not defined at util/pl/VC-32.pl line 57.
Compilation failed in require at util\mk1mf.pl line 151.
D:\openssl-0.9.8l>perl util\mk1mf.pl dll no-asm VC-CE 1>ms\cedll.mak
%OSVERSION% is not defined at util/pl/VC-32.pl line 57.
Compilation failed in require at util\mk1mf.pl line 151.
D:\openssl-0.9.8l>perl util\mkdef.pl 32 libeay 1>ms\libeay32.def
D:\openssl-0.9.8l>perl util\mkdef.pl 32 ssleay 1>ms\ssleay32.def
5. 编译分两种情况,生成静态库和动态库
(1) 如果是编译OpenSSL动态库,则在命令行键入 nmake -f ms\ntdll.mak
编译成功课在文件夹out32dll里面查看输出的文件,包括应用程序的exe文件、lib文件、dll文件。
(2) 如果是编译OpenSSL静态库,则在命令行键入 nmake -f ms\nt.mak
编译成功课在文件夹out32里面查看输出的文件,包括应用程序的exe文件、lib文件。
到此编译已经完成,将OpenSSL下的include文件夹、lib文件、dll文件考出,使用的时候包含进去就行了。
另外还有几个命令可能会用到:
测试OpenSSL动态库:nmake -f ms\ntdll.mak test
测试OpenSSL静态库:nmake -f ms\nt.mak test
安装OpenSSL动态库:nmake -f ms\ntdll.mak install
安装OpenSSL静态库:nmake -f ms\nt.mak install
清除上次OpenSSL动态库的编译,以便重新编译:nmake -f ms\ntdll.mak clean
清除上次OpenSSL静态库的编译,以便重新编译:nmake -f ms\nt.mak clean
编译OpenSSL可能遇到的问题:
1. 启用Windows控制台(运行cmd)进行编译,执行第5步nmake -f ms\ntdll.mak或nmake -f ms\nt.mak会报错:
'nmake' 不是内部或外部命令,也不是可运行的程序或批处理文件。
2. 启用SDK Command Prompt进行编译,执行第5步nmake -f ms\ntdll.mak或nmake -f ms\nt.mak会报错:
ms\uplink.c(11) : fatal error C1083: Cannot open include file: 'windows.h': No such file or directory
NMAKE : fatal error U1077: '"D:\Program Files\Microsoft Visual Studio 8\VC\bin\cl.EXE"' : return code '0x2' Stop.
上述问题解决方案:
1. 严格按第1步操作,启动Visual Studio 2005 Command Prompt进行编译,这个会自动配置环境。
2. 在执行第5步nmake -f ms\ntdll.mak前,进入D:\Program Files\Microsoft Visual Studio 8\VC\bin路径下(替换成自己的VC安装路径),命令行键入vcvars32,运行vcvars32.bat。然后再回到OpenSSL源码的目录(D:\openssl-0.9.8l),再执行第5步nmake -f ms\ntdll.mak或nmake -f ms\nt.mak
特别是【2. 在执行第5步nmake -f ms\ntdll.mak前,进入D:\Program Files\Microsoft Visual Studio 8\VC\bin路径下(替换成自己的VC安装路径),命令行键入vcvars32,运行vcvars32.bat。然后再回到OpenSSL源码的目录(D:\openssl-0.9.8l),再执行第5步nmake
-f ms\ntdll.mak或nmake -f ms\nt.mak】
太强大了
相关文章推荐
- Windows环境下使用VS2005编译OpenSSL
- Windows环境下使用VS2005编译OpenSSL
- Windows环境下使用VS2005编译OpenSSL
- Windows环境下使用VS2005编译OpenSSL
- Windows环境下使用VS2005编译OpenSSL
- Windows环境下使用VS2005编译OpenSSL
- Windows环境下使用VS2005编译OpenSSL
- Windows环境下使用VS2005编译OpenSSL
- Windows环境下使用VS2010编译OpenSSL-1.0.1i
- 在PC环境下用VS2005编译供Windows使用的libpng和zlib库
- android openssl windows环境编译使用
- android openssl windows环境编译使用
- Windows环境下使用VS2010编译OpenSSL
- MSYS2开发环境搭建(无幻的博客,编译OpenSSL,可使用pacman升级)
- 基于windows下使用CMake和VS2013编译OpenCV的环境搭建
- windows环境下编译使用PBC库
- 32位windows关于使用eclipse和PyDev构建Python编译环境
- 在Android上利用NDK编译并使用Spatialite库(Windows环境)
- windows环境下强制JVM和Sass使用utf-8编译的方法
- 在VS2005 环境下面使用.NET Framework 1.1 进行编译