在Windows下用MinGW编译OpenSSL,及OpenSSL静态链接库libcrypto.a使用问题

c语言静态库内存泄露检测,解决引用openssl静态库libcrypto.a和libssl.a出现undefined reference to异常的有关问题... 解决引用openssl静态库libcrypto.a和libssl.a出现undefined reference to错误的问题最近在做使用openssl链接http和https的项目,编译时出现以下问题。/usr/local/openssl/lib/libcrypto.a(async.o): In function `async_free_pool_internal':async.c:(.text... 阅读详情

最经我用MinGW编译OpenSSL的过程中发生了很多问题,不过好在已经解决了,现在写出来以备查询

 

以OpenSSL-0.9.8l为例:

前略(下载,解压)注意要安装Perl,如果你只是用来安装OpenSSL的可以下ActivePerl,以后还有其它用的下strawberry-perl

 

(先说问题)

使用MinGW编译OpenSSL时我发现有以下问题

1、解压目录/ms/mingw32.bat内的路径有问题,直接使用会报找不到文件

2、编译过程中报错(内容如下)

./crypto/des/set_key.c:68: error: static declaration of '_hide_DES_check_key' follows non-static declaration ./crypto/des/set_key.c:68: error: previous declaration of '_hide_DES_check_key' was here
mingw32-make: *** [tmp/set_key.o] Error 1

3、其它编译问题(我没有遇到,不过似乎官方有准备)

4、使用静态链接库libcrypto.a时

libcrypto.a(rand_win.o)(.text+0xb13):rand_win.c: undefined reference to '_CreateDCA@16'

libcrypto.a(rand_win.o)(.text+0xb24):rand_win.c: undefined reference to '_CreateCompatibleDC@4'

 

等错误

 

解决法案:

MinGW64编译OpenSSL 引言  用Qt写爬虫的时候,缺少openssl的动态库,试了几个已有的版本都不对,于是从官网下载了对应版本的源码自己编译。 准备 环境  我的Qt原工程环境是, MinGW7.3.0-x64(gcc version 7.3.0 (x86_64-posix-seh-rev0, Built by MinGW-W64 project)) Qt5.13.0 链接  我这边Qt内的链接库是支持opens... 阅读详情

相关推荐

Android开发中OpenSSL编译指南与安全实践

加密通信是移动应用安全的核心组件,OpenSSL作为行业标准加密库,提供了SSL/TLS协议实现及多种加密算法支持。其模块化架构允许开发者根据需求定制编译选项,特别在Android平台兼容性处理上展现出独特价值。通过静态链接方式集成OpenSSL可解决系统版本碎片化问题,适用于金融、政务等高安全场景。本文以Android NDK为工具链,详细解析如何为armeabi-v7a和arm64-v8a架构编译OpenSSL 1.1.1w版本,涵盖从环境配置到CMake集成的完整流程,并针对Windows平台的特殊问

weixin_34235457的博客 306

OpenSSL编译指南:从源码构建到生产环境部署

OpenSSL作为现代互联网安全通信的基石,其加密算法库支撑着HTTPS、API加密等核心场景。理解SSL/TLS协议原理后,开发者常需通过源码编译实现特定优化,如硬件加速支持或嵌入式设备适配。本文以OpenSSL 1.1.1w为例,详解跨平台编译技术,涵盖Linux/Windows环境配置、性能调优参数解析及生产环境集成方案,特别针对IPv6支持和椭圆曲线优化等热词场景提供实践指导。通过源码级定制,可有效解决物联网设备资源受限、旧系统兼容性等工程难题。

weixin_34184561的博客 433

OpenSSL源码编译与C++项目集成实战指南

在现代软件开发中,密码学库是保障数据安全的核心组件,广泛应用于网络通信、数据加密和身份验证等场景。其原理基于成熟的加密算法和协议,通过提供标准化的API接口,为应用程序构建安全防线。从技术价值看,自主编译密码学库能实现环境隔离、版本控制和算法定制,有效解决依赖冲突和部署一致性问题。在应用场景上,无论是需要特定算法支持的金融系统、对部署环境有严格要求的嵌入式设备,还是追求极致性能的高并发服务,源码编译都提供了底层控制能力。本文聚焦OpenSSL这一广泛使用的密码学工具箱,详细解析其从源码获取、平台配置到编译安

weixin_30522095的博客 329

Windows平台OpenSSL 64位预编译库安装与配置全指南

SSL/TLS协议是现代网络通信中实现数据加密与身份验证的核心技术,其开源实现OpenSSL是构建安全通信的基础组件。在Windows开发环境中,由于官方仅提供源码,手动编译涉及Perl、NASM及Visual Studio工具链,过程复杂且易出错。通过社区维护的预编译二进制仓库,开发者可快速获取经过验证的OpenSSL 64位版本,实现一键安装。这显著降低了环境配置门槛,使开发者能专注于实现数据加密、证书管理等核心功能。该方案尤其适用于本地开发环境HTTPS化、解决第三方软件依赖及执行标准化安全操作等场景

weixin_34072637的博客 417

Windows x64下OpenSSL 3.2.0静态库编译与链接完全指南

静态链接库将第三方功能直接嵌入可执行文件,免去运行环境依赖与DLL分发问题,是Windows原生C/C++开发中常见的工程实践。OpenSSL作为广泛使用的加密库,其Windows官方安装包通常仅提供动态库,需要源码编译才能获得静态库。通过配置VC-WIN64A目标、no-shared参数及MSVC运行时选项,开发者可以构建出匹配自身工程的libcrypto和libssl静态库。本文从编译环境准备、参数拆解、链接配置到常见错误排查,系统讲解在Windows x64平台上编译OpenSSL 3.2.0静态库的

weixin_34292402的博客 504

Windows平台下使用MSVC手动编译OpenSSL 1.1.1w的完整指南

在C/C++开发中,加密解密和网络通信是常见需求,OpenSSL作为广泛使用的开源加密库,提供了SSL/TLS协议实现和多种加密算法。其核心原理在于通过模块化设计,为应用程序提供安全的通信和数据保护能力。在Windows平台上,直接使用预编译的二进制包常因编译器不匹配导致链接错误,例如MSVC与MinGW的ABI不兼容问题。因此,掌握手动编译技能对于确保项目依赖可控、环境纯净具有重要技术价值。本文以Visual Studio 2019和OpenSSL 1.1.1w为例,详细讲解从环境配置、编译参数解析到项目

weixin_34414650的博客 319

Windows下使用VS2019编译OpenSSL 1.1.1w的完整指南与实战

在C++项目开发中,HTTPS通信的实现通常依赖于OpenSSL这样的加密库。OpenSSL作为广泛使用的开源工具包,提供了SSL/TLS协议以及多种加密算法的实现,其核心价值在于为网络通信提供安全保障。在Windows平台上,由于官方不直接提供预编译的二进制文件,开发者常面临版本匹配和编译环境配置的挑战。本文从OpenSSL的基本概念出发,详细解析了其编译原理,特别是针对Visual Studio 2019开发环境,提供了从工具链配置、源码编译到项目集成的完整工程实践方案。文中深入探讨了动态库与静态库的编

weixin_30420305的博客 392

OpenSSL在64位系统下的lib/dll与头文件配置指南

动态库与导入库是Windows开发中基础而关键的机制,导入库(LIB)记录符号信息,动态库(DLL)实现真正功能,两者必须配对。OpenSSL作为广泛应用的加密库,在64位系统上提供了头文件、导入库和DLL三件套,但版本、位数或配置不当常引发LNK2019或运行时缺失DLL等问题。本文从概念和原理出发,梳理OpenSSL在Windows x64下的目录结构,详细讲解通过官方包、vcpkg或源码自编译获取配套产物,并在Visual Studio中配置附加包含目录、链接器依赖项及DLL分发的方法,最后给出针对常

weixin_34235457的博客 249

libcrypto.a

openssl 编译的静态库libcrypto.a, openssl 编译的静态库libcrypto.a,

利用python爬取东方财富网股吧评论并进行情感分析(一)

利用python爬取东方财富网股吧评论(一) python-东方财富网贴吧文本数据爬取 分享一下写论文时爬数据用到的代码,有什么问题或者改善的建议的话小伙伴们一起评论区讨论。 新的改变 我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客: 全新的界面设计 ,将会带来全新的写作体验; 在创作中心设置你喜爱的代码高亮样式,Markdown 将代码片显示选择的高亮样式 进行展示; 增加了 图片拖拽 功能,你可以将本地的图片直

YMG521000的博客 1万+

Nmap的介绍、安装 并进行网络扫描

Nmap概述 Nmap(Network Mapper(网络映射器))是一个网络连接端扫描软件,用来扫描网上电脑开放的网络连接端。确定哪些服务运行在哪些连接端,并且推断计算机运行哪个操作系统(这是亦称 fingerprinting)。它是网络管理员必用的软件之一,以及用以评估网络系统安全。 正如大多数被用于网络安全的工具,nmap 也是不少黑客及骇客(又称脚本小子)爱用的工具 。系统管理员可以利用nmap来探测工作环境中未经批准使用的服务器,但是黑客会利用nmap来搜集目标电脑的网络设定,从而计划攻击的方法。

Cheney ' blog 2万+

本地部署AI应用:基于Google Gemini的banana-prompt快速上手指南

AI应用开发的核心在于将大模型能力集成到实际场景中,其原理是通过API调用将用户输入转化为模型可理解的指令,再由模型生成响应。这一技术价值在于降低AI应用开发门槛,实现数据本地化处理与隐私保护。在工程实践中,开发者常面临环境配置复杂、API集成繁琐等挑战。本文聚焦于使用banana-prompt工具包,通过TypeScript技术栈和npm包管理,快速在Windows本地部署基于Google Gemini API的AI应用。该方案特别适用于ai-prompts提示词工程和content-creation内容

weixin_27188815的博客 316

T507 buildroot linux4.9之RLT8211F 1000M以太网开发调试

调试T507的gmac,解决该RTL8211F 1000m以太网中调试遇到的问题

目前从事linux驱动开发,多交流多学习吧 688

2024年CSP-X复赛真题题解(T1:购物)

2024年CSP-X复赛真题题解(T1:购物)

王老师青少年编程 1180

字符串尾部空格的迷思:深入解析 ABAP 隐式转换规则与 `strlen` 意外结果

看似简单的strlen之谜,背后实则是 ABAP 隐式转换的一整套严谨规则。只要开发者在赋值、输出、接口映射等关键节点建立“尾部空格意识”,辅以CONVCONDENSE等显式手段,就能有效杜绝多余空格引发的链式故障。希望本文的拆解与案例,能让你在面对下一个“异常长度”时,从容而笃定地给出正确答案。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 431

把 Claude Code 接进 ABAP 世界,vibing-steampunk 到底能做什么

《Vibing Steampunk:AI Agent 与 ABAP 开发的工程化桥梁》摘要 Vibing Steampunk(vsp)是一个连接 AI Agent 与 SAP ABAP 开发环境的开源工具,通过 Model Context Protocol(MCP)将 ABAP 开发能力标准化。它解决了传统 ABAP 开发中 AI 辅助工具的局限性,使 Claude Code 等 AI 编程助手能够直接访问 ADT API,实现代码读写、调试、测试等完整开发流程。该工具采用 Go 语言开发,提供 147 个

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 1933

28、数字电路测试与半导体内存测试全解析

本文全面解析了数字电路中的顺序电路测试生成方法与半导体内存测试技术。内容涵盖顺序电路中的故障检测、多重观察测试、可驱动性分析、伪组合电路测试及初始化问题,并深入探讨了内存技术发展、故障模型、测试流程与未来趋势。重点介绍了DRAM、SRAM等主流内存类型的特点,以及制造和使用过程中面临的永久性与非永久性故障挑战,提出了基于故障模型的高效测试策略与优化方案。

go5gopher的博客 122

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

下一篇: Code::Blocks(MinGW)编译资源文件时中文乱码的解决方案及补充
耍宝王
博客等级 码龄17年 107粉丝 15原创
评论 5
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值