太平洋建设 网站,代刷网站开发,美工做网站怎么收费,网站建设会销之前安装过1.1版本#xff0c;Windows环境下C 安装OpenSSL库 源码编译及使用#xff08;VS2019#xff09;_vs2019安装openssl_肥宝Fable的博客-CSDN博客
后来发现linux编译不过#xff0c;以为是版本问题#xff0c;相差太大#xff0c;所以降一下版本#xff0c;以免…之前安装过1.1版本Windows环境下C 安装OpenSSL库 源码编译及使用VS2019_vs2019安装openssl_肥宝Fable的博客-CSDN博客
后来发现linux编译不过以为是版本问题相差太大所以降一下版本以免后面写代码有问题。
当然结果发现是没有配链接的库
Linux环境下C 接入OpenSSL-CSDN博客
不过安装1.0.2版本的时候发现还是有很多坑的所以记录下来以免后面还是踩坑。
流程可能稍微缩减了一下由于安装1.1版本的时候已经装了好多配套的东西这里不再重复叙述参考上面1.1版本的文章就好。可能有些东西是多余的。
另外网上找到解决问题的参考文章
Windows 编译 openssl-1.0.2p静态库 32/64、debug/release、MT/MTd-腾讯云开发者社区-腾讯云
以下是正文 根据需要编译的平台选择相应的控制台64位的选择x6432位的选择x86 执行
perl Configure VC-WIN32 no-asm --debug --prefixE:\xxx\common\openSSL --openssldirE:\xxx\common\ssl
结果并没有跟1.1版本的那样输出不过好像并没有报错
跟着
nmake
然后就提示错误了
makefile(243) : fatal error U1001: 语法错误: 宏中的非法字符“{”
找了好久都没找到问题后来直接搜版本才搜到点东西
需要修改 ms/do_nasm.bat 文件将原来
perl util\mkfiles.pl MINFO
perl util\mk1mf.pl nasm VC-WIN32 ms\nt.mak
perl util\mk1mf.pl dll nasm VC-WIN32 ms\ntdll.mak
perl util\mk1mf.pl nasm BC-NT ms\bcb.makperl util\mkdef.pl 32 libeay ms\libeay32.def
perl util\mkdef.pl 32 ssleay ms\ssleay32.def
修改为
perl util\mkfiles.pl MINFO
perl util\mk1mf.pl nasm debug VC-WIN32 ms\nt.mak
perl util\mk1mf.pl dll nasm debug VC-WIN32 ms\ntdll.mak
perl util\mk1mf.pl nasm BC-NT ms\bcb.makperl util\mkdef.pl 32 libeay ms\libeay32.def
perl util\mkdef.pl 32 ssleay ms\ssleay32.def
就是将第二行和第三行编译选项增加了 debug。修改完成后执行 ms/do_nasm.bat。
.\ms\do_nasm.bat 直接搬别人的图了懒得再执行一次了。
修改完成执行如下命令开始编译
nmake -f ms\nt.mak
lib文件在out32.dbg目录下libeay32.lib、ssleay32.lib 执行完之后发现只有lib没有dll文件
要修改 ms\ntdll.mak 将 CFLAG 的 /MDd 属性修改为 /MTd与你调用项目匹配
nmake -f ms\ntdll.mak
这一步不知道是会直接生成lib和dll还是只生成dll的。
执行完之后dll文件在out32dll.dbg 补充一点dll文件是第二天才搞出来的。编译出lib之后拿去编译项目工程发现能编译过了然后运行的时候发现没有dll文件居然也可以运行。而且已经很晚了就没继续搞了。
后来越想越不对劲肯定要dll文件的全局搜索一下发现好多软件都自带libeasy32.dll和ssleay32.dll如果有哪个路径是在环境变量中的应该会被搜索到。所以我还是趁还记得编译了一下dll文件放到工程对于目录里面了。