使用OpenSSL-1.1.1g

问题描述

我想在OpenSSL-1.1.1g项目中使用C++/WinRT。所以我创建了一个test project。以下是我在此项目中所做的事情:

1。在VS2019中安装C++/WinRT

2。在目录“ c:\ temp”中创建项目“ TestOpenSSL1.1.1g”(文件->新建->项目->空白应用(C ++ / WinRT))

3。安装Strawberry Perl NASM

4。下载OpenSSL-1.1.1g并将其解压缩到“ c:\ temp \ openssl-1.1.1g”

5。使用“以管理员身份运行”打开“ VS 2019开发人员命令提示符”

6。输入目录“ openssl-1.1.1g”

cd c:\ temp \ openssl-1.1.1g

7。配置openssl

perl配置VC-WIN32 --prefix =“ c:\ temp \ TestOpenSSL1.1.1g \ openssl-1.1.1g”

8。编译openssl

nmake

9。安装openssl

nmake安装

10.so我看到目录“ bin”“ html”“ include”“ lib”是在“ c:\ temp \ TestOpenSSL1.1.1g \ openssl-1.1.1g”中创建的

11。包括openssl头文件

解决方案资源管理器->属性->配置属性-> C / C ++->常规->其他包含目录中添加“ $(ProjectDir).. \ openssl-1.1.1g \ include”

12。添加依赖项“ libcrypto.lib”和“ libssl.lib”

解决方案资源管理器->属性-中,添加“ $(ProjectDir).. \ openssl-1.1.1g \ lib \ libcrypto.lib; $(ProjectDir).. \ openssl-1.1.1g \ lib \ libssl.lib” >配置属性->链接器->输入->其他依赖项

13。修改MainPage.cpp

#include

添加语句“ OPENSSL_init();”在函数“ MainPage :: MainPage”中;

在我构建了this project之后,没有任何错误。但是如果我调试该项目,则会出现错误

enter image description here

enter image description here

enter image description here

解决方法

使用openssl中的源代码并使用命令“ perl Configure VC-WIN32-UWP”进行配置后,它才能工作