近日工程中要用到openssl,使用vs2005编译过程遇到问题,记录如下
准备工作:
下载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.7 //把路径替换成自己的源码路径
3. 命令行键入 perl configure VC-WIN32
如果没安装ActivePerl将无法执行
4. 命令行键入 ms\do_ms
5. 编译分两种情况,生成静态库和动态库
(1) 如果是编译OpenSSL动态库,则在命令行键入 nmake -f ms\ntdll.mak
编译成功课在文件夹out32dll里面查看输出的文件,包括应用程序的exe文件、lib文件、dll文件。
(2) 如果是编译OpenSSL静态库,则在命令行键入 nmake -f ms\nt.mak
编译成功课在文件夹out32里面查看输出的文件,包括应用程序的exe文件、lib文件。
另外还有几个命令可能会用到:
测试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遇到的问题:
.\crypto\mem_dbg.c(605) : error C2220: warning treated as error - no 'object' file generated
解决方法:修改ntdll.mak,CFLAG = /W3 改为/W0。关闭警告
编译成功。