Windwos +vs 2022 编译openssl 1.0.2 库

2024-06-24 13:36
文章标签 windwos vs 2022 openssl 1.0 编译

本文主要是介绍Windwos +vs 2022 编译openssl 1.0.2 库,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一 前言

先说 结论,编译64位报错,查了一圈没找到解决方案,最后换了32位的。

使用qt访问web接口,因为是https,没有openssl库会报错

    QNetworkReply* reply = qobject_cast<QNetworkReply*>(sender());if (reply){if (reply->error() == QNetworkReply::NoError){// 处理成功响应QByteArray responseData = reply->readAll();// 处理responseDataui->textEdit->append("data:" + QString::fromUtf8(responseData) + "\n");}else{// 处理错误响应qDebug() << "Request Error: " << reply->errorString();ui->textEdit->append("error:" + mReply->errorString());}reply->deleteLater();}

错误就是 error:Error creating SSL context ()
说明需要openssl
使用下面代码查看qt需要的库

QSslSocket::sslLibraryBuildVersionString()ui->textEdit->append("lib v:" + QSslSocket::sslLibraryBuildVersionString());

如图
在这里插入图片描述

二准备工具

1、安装 perl
http://strawberryperl.com/download/5.28.1.1/strawberry-perl-5.28.1.1-64bit.msi
2、下载 openssl 1.0.2u
链接
3、 安装 NASM

测试命令

perl  -v
nasm --v

出错就用everything ,查找 nasm.exe 和 perl .exe的文件位置添加到用户环境变量中

三 开始编译

cmd 管理员进入 C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin(vs 版本不一样,可能路径不同) 运行 vcvars32.bat
在openssl代码下载后,解压,自己建一个文件夹作为输出,比如bin
cmd 窗口切换到代码路径下
挨个执行命令就行,注意改成自己的代码路径

perl Configure VC-WIN32 no-asm --prefix=D:\ssl\openssl-1.0.2u\openssl-1.0.2u\binms\do_nasmnmake -f ms\ntdll.mak nmake -f ms\ntdll.mak test nmake -f ms\ntdll.mak install nmake -f ms\ntdll.mak clean

期间可能会出现 ** fatal error U1077: “rc”: 返回代码“0x1”** 之类的错误,网上查的解决方案是,解决方法是查找 rc.exe ,用everything 查找最新的 rc.exe,加到环境变量里。原理没懂,反正解决了

四结果文件

就在bin目录下(自己建的输出目录)
在这里插入图片描述

五参考文章

解决rc,上方说的错误
虽然时间较久,参考意义比较大

这篇关于Windwos +vs 2022 编译openssl 1.0.2 库的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1090296

相关文章

ESP32 esp-idf esp-adf环境安装及.a库创建与编译

简介 ESP32 功能丰富的 Wi-Fi & 蓝牙 MCU, 适用于多样的物联网应用。使用freertos操作系统。 ESP-IDF 官方物联网开发框架。 ESP-ADF 官方音频开发框架。 文档参照 https://espressif-docs.readthedocs-hosted.com/projects/esp-adf/zh-cn/latest/get-started/index

C++工程编译链接错误汇总VisualStudio

目录 一些小的知识点 make工具 可以使用windows下的事件查看器崩溃的地方 dumpbin工具查看dll是32位还是64位的 _MSC_VER .cc 和.cpp 【VC++目录中的包含目录】 vs 【C/C++常规中的附加包含目录】——头文件所在目录如何怎么添加,添加了以后搜索头文件就会到这些个路径下搜索了 include<> 和 include"" WinMain 和

C/C++的编译和链接过程

目录 从源文件生成可执行文件(书中第2章) 1.Preprocessing预处理——预处理器cpp 2.Compilation编译——编译器cll ps:vs中优化选项设置 3.Assembly汇编——汇编器as ps:vs中汇编输出文件设置 4.Linking链接——链接器ld 符号 模块,库 链接过程——链接器 链接过程 1.简单链接的例子 2.链接过程 3.地址和

青龙面板2.9之Cdle傻妞机器人编译教程

看到有的朋友对傻妞机器人感兴趣,这里写一下傻妞机器人的编译教程。 第一步,这里以linux amd64为例,去官网下载安装go语言安装包: 第二步,输入下方指令 cd /usr/local && wget https://golang.google.cn/dl/go1.16.7.linux-amd64.tar.gz -O go1.16.7.linux-amd64.tar.gz

(1995-2022年) 全国各省份-技术交易活跃度

技术交易活跃度是一个关键指标,用于衡量技术市场的交易频繁程度和活跃性。它不仅显示了市场参与者对技术交易的参与热情,而且交易的频率也体现了市场的活力。这一指标对于不同的利益相关者具有不同的意义: 对投资者而言,技术交易活跃度是把握市场趋势、评估交易策略和预测市场波动的重要工具。对企业来说,技术交易活跃度反映了其技术创新的活跃程度和市场竞争的激烈程度,有助于企业制定技术创新和市场竞争策略。对政策制定

iOS:编译时出现no such file or directory:xxx以及use twice...filenames are used to distinguish private dec

简    注册  登录   添加关注 作者  婉卿容若 2016.04.29 11:22 写了21870字,被16人关注,获得了14个喜欢 iOS:编译时出现"no such file or directory:xxx"以及"use twice...filenames are used to distinguish private

Java的简易编译命令

生成jar包 编译生成.class 文件 编译.class文件的命令,其中的参数是输出,原文件路径 javac -sourcepath class.class MyClass.java 如果有包名的需要创建对应包的文件夹,建文件移动对应的包名下在开始包下创建meta-inf文件夹在meta-inf文件下创建manifest.mf文件 生成可运行的jar包 解压 生成了jar包后,进

编译测试后出现“发现不明确的匹配”错误

原文链接:http://blog.163.com/zhaoyanping_1125/blog/static/201329153201204218533/ 错误提示: 【“/”应用程序中的服务器错误。  分析器错误 说明: 在分析向此请求提供服务所需资源时出错。请检查下列特定分析错误详细信息并适当地修改源文件。  分析器错误信息: 发现不明确的匹配。】   这个问题发生原因一般情况是

2009年-2022年 地级市-环境污染处罚数据

环境污染处罚数据是环境保护领域中重要的信息资源,它记录了因违反环保法律法规而受到行政处罚或法律制裁的具体情况。这些数据对于提高公众的环保意识、促进企业采取环保措施以及推动环境治理具有重要作用。 数据内容概述 违法行为的主体:即受到处罚的个人或企业。违法事实:具体违反了哪些环保法律法规的行为。处罚依据:依据哪些法律法规进行处罚。处罚类型:如罚款、责令整改、停产整顿等。处罚金额:处罚的具体金额,通

通用大模型 vs垂直大模型:AI界的“宫斗大戏”

科技圈最近可真热闹,AI大模型的“宫斗大戏”让人眼花缭乱。两个阵营:通用大模型和垂直大模型,正在上演一场激烈的“权力的游戏”。到底谁能笑到最后?咱们一起来“吃瓜”看看吧! 首先,登场的是“全能王”通用大模型。它们就像是学习成绩顶尖、体育全能的学霸,什么都懂,什么都能干。 通用大模型:全能选手看看这家伙的优势: 通用大模型就像那种考上清华北大的学霸,不管是文科还是理科,全都能拿下。从写文章到