分类: C/C++
2008-10-22 19:22:36
必备条件: 1、安装VC++ 6.0。
2、下载ActivePerl-
3、下载 openssl0.98并解压。
安装步骤:完全可以参照openssl目录下的install.win32
1、perl Configure VC-WIN32
如不成功会有明显提示
2、ms\do_ms
推荐使用这种方式
另外两种方式 如果使用也必须保证本机有编译器才能使用。
:ms\do_masm (默认vc 自带的编译器;也也以自己下载安装)
:ms\do_nasm (需要自己下载)
3、DOS窗口下转到【Microsoft Visual Studio】\VC98\bin目录下执行 vcvars32.bat 以配置环境变量。
4、跳到openssl目录下,执行:
nmake -f ms\ntdll.mak 如果编译成功,最后的输出都在out32dll目录下:包括可执行文件、两个dll和两个lib文件: libeay32.dll, libeay32.lib, ssleay32.dll, ssleay32.lib
编程初步: 1、 打开VC-Tools-Options-Directores,在Include files中增加【openssl-
2、 在源程序中包含以下三个头文件并加入LIB:
#include
#pragma comment(lib, "ssleay32.lib") 3、 参考源码开始编程:
(Vs2005使用Vc8的cl编译器) 1、安装ActivePerl//初始化的时候,需要用到perl解释器 2、使用VS2005下的Visual Studio 2005 Command Prompt进入控制台模式(这个模式会自动设置各种环境变量) 3、解压缩openssl的包,进入openssl的目录 4、perl configure VC-WIN32 尽量在这个目录下执行该命令,否则找不到Configure文件,或者指定完整的Configure文件路径。 5、ms\do_ms 在解压目录下执行ms\do_ms命令 6、nmake -f ms\ntdll.mak 编译后 在openssl解压目录下执行,完成编译后。输出的文件在out32dll里面,包括应用程序的可执行文件、lib文件和dll文件 注 意:在运行第五步时,cl编译器会抱怨说.\crypto\des\enc_read.c文件的read是The POSIX name for this item is deprecated(不被推荐的),建议使用_read。呵呵,我可不想将OpenSSL中的所有的read函数修改为_read。再看cl的错误代码 error C2220,于是上MSDN上查找: warning treated as error - no object file generated /WX tells the compiler to treat all warnings as errors. Since an error occurred, no object or executable file was generated. 是由于设置了/WX选项,将所有的警告都作为错误对待,所以。。。 于是打开OpenSSL目录下的MS目录下的ntdll.mak文件,将CFLAG的/WX选项去掉,存盘。。。 继续执行nmake -f ms\ntdll.mak 于是成功。。。
参考: 使用 OpenSSL API 进行安全编程 OpenSSL官方站点: |