项目需要用到RSA加解密,MD5等,项目用的C++环境,VS2005。通过几天的摸索,网上学习,终于将openssl编译完成并使用到项目中。总结下过程:
环境:XP,VS2005,C++。
代码:openssl 1.1.1.
工具:ActivePerl,nasm汇编器。
1.打开Visual Studio 2005 Command Prompt命令行工具。
2.定位到openssl的代码根目录。
3.perl Configure VC-WIN32 [no-shared] [no-asm] [no-tests] [--debug] -D_WIN32_WINNT=0x0501 --prefix=d:\openssllib
VC-WIN32:可根据需要修改为64位等。
-D_WIN32_WINNT=0x0501为XP系统下需要,其他系统没测试,可能其他高版本系统不需要此项。
[]中的为可选项,no-shared为编译静态库,不加此项默认编译出的是动态库;no-tests为不需要tests功能,如果只需要openssl的库可以加上此项,否则可能会出很多错误导致编译不过;--debug为编译debug版,不加此项默认编译出的是release版。
4.nmake,编译通过后再nmake install就安装到--prefix=指定的目录了。
5.如果要编译多个版本(release,debug),最好先nmake clean下,再重复第3步骤。
tips:
1.VS工程的运行时库(Runtime Library)选择应与编译出的openssl库匹配,尤其动态库,否则可能编译不过。静态库可能例外,本人只验证了一种,可行。
2.需要使用静态库的时候,如果编译不过,出现LNK2019等错误的时候,你可能还需要添加ws2_32.lib,crypt32.lib库。