热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

如何在Windowsx64上使用openSSL和nghttp2编译cURL?

如何解决《如何在Windowsx64上使用openSSL和nghttp2编译cURL?》经验,为你挑选了1个好方法。

这是有史以来的第一个问题,所以请允许我:)我过去三天一直在网上,试图找到一种在Windows机器上获得以下结果的方法。

我需要的'cURL -V'输出示例

我已经发现了很多用于macOS和Unix的东西,但是对于Windows却只有一点点。我正在运行xampp,最终我试图使它通过cURL / PHP发送http / 2请求。到目前为止,我所收集的是我需要使用某些库来编译cURL,例如openssl(至少1.0.2),启用了http / 2的libcurl和nghttp2。我觉得我已经很接近了,但是我只是缺少一些步骤。

到目前为止,我所做的是:

为Visual Studio 2017安装了诸如mingw32,cmake和构建工具之类的东西

下载nghttp2-1.27.0,并使用'cmake'和'cmake --build'获取5个文件:nghttp2.dll,.exp,.lik,.lib和.pdb

下载curl-7.56.1.tar.gz(https://curl.haxx.se/download.html上的第一个)

下载的libssh2-1.8.0

下载的openssl-1.0.2l

下载了zlib-1.2.11

在https://curl.haxx.se/docs/install.html上按照Mingw32的说明进行操作(但它始终提示我“无法找到openSSL软件包”)

我读到某个地方需要用'--with-nghttp2 --prefix- [此处的NGHTTP2文件夹位置]'标志来编译cURL,所以我尝试了一些我认为可行的方法,但是我认为它没有用: 'cmake --with-nghttp2 --prefix- [此处的NGHTTP2文件夹位置]。”,然后“ cmake install”。”,看起来好像做了些什么,但是在curl-7.56.1 / src /中内置的cURL.exe除了libcurl之外没有其他任何东西。

任何建议或指针将不胜感激!感谢大伙们 :)



1> Raimondo Pre..:

好的,我终于能够在具有http / 2支持的Windows上构建Curl。这是一步一步为我工作的方法:

下载了“ Visual Studio 2017的构建工具 ”,以便能够从命令行进行构建(提供nmake和必需的Windows SDK库和标头过滤器)

如上所述下载了curl的最新版本(curl-7.56.1.tar.gz,对我来说也是https://curl.haxx.se/download.html上的第一个)

提取到里面c:/curl,所以我最终得到了c:/curl/curl-7.56.1

读指令BUILD.WINDOWS.txtc:/curl/curl-7.56.1/winbuild,并着手http://windows.php.net/downloads/php-sdk/deps/下载4个库,我需要的。我只是抓住了VC15 / x86版本。

在其中创建了一个名为“ deps”的新文件夹 c:/curl/curl-7.56.1

里面创建以下3个文件夹c:/curl/curl-7.56.1/depsbinlib,和include

将我刚刚下载的每个库提取到相应的3个文件夹中

为VS 2017打开了开发人员命令提示符

cd c:/curl/curl-7.56.1/winbuild

nmake -f Makefile.vc mode=dll WITH_DEVEL=c:/curl/curl-7.56.1/deps WITH_SSL=dll WITH_NGHTTP2=dll WITH_ZLIB=static WITH_SSH2=dll

这将在以下子文件夹之一中构建CURL可执行文件 c:\curl\curl-7.56.1\builds

当我第一次尝试运行卷曲,这表明一个错误,说失踪的libssl-1_1.dlllibcrypto-1_1.dll,所以我不得不将它们从复制c:\curl\curl-7.56.1\deps\bin到同一目录下新建curl.exe

注意:由于zlib并未随附bin包含任何的文件夹.dll,因此我理解了为什么必须使用标志将zlib标记为静态WITH_ZLIB=static。我不明白的是为什么我不得不在新目录中手动移动openssl .dll。有什么想法吗?

PS:谢谢丹尼尔为我指出正确的方向。我什至没有注意到/winbuild目录。

PPS:您可能会说,我不知道我90%的时间在做什么。大概是为什么我花了5天的时间才弄清楚;)


推荐阅读
  • 在软件开发过程中,经常需要将多个项目或模块进行集成和调试,尤其是当项目依赖于第三方开源库(如Cordova、CocoaPods)时。本文介绍了如何在Xcode中高效地进行多项目联合调试,分享了一些实用的技巧和最佳实践,帮助开发者解决常见的调试难题,提高开发效率。 ... [详细]
  • 在本地环境中调试远程服务器上的网站代码执行问题,可以通过以下步骤实现:首先,在本地安装 Visual Studio 并配置远程调试工具。接着,确保服务器和本地机器之间的网络连接畅通,并正确设置防火墙规则以允许调试流量。最后,使用 Visual Studio 的远程调试功能连接到服务器,进行代码调试。这种方法不仅提高了开发效率,还减少了在服务器上直接操作的风险。 ... [详细]
  • MATLAB字典学习工具箱SPAMS:稀疏与字典学习的详细介绍、配置及应用实例
    SPAMS(Sparse Modeling Software)是一个强大的开源优化工具箱,专为解决多种稀疏估计问题而设计。该工具箱基于MATLAB,提供了丰富的算法和函数,适用于字典学习、信号处理和机器学习等领域。本文将详细介绍SPAMS的配置方法、核心功能及其在实际应用中的典型案例,帮助用户更好地理解和使用这一工具箱。 ... [详细]
  • 数字图书馆近期展出了一批精选的Linux经典著作,这些书籍虽然部分较为陈旧,但依然具有重要的参考价值。如需转载相关内容,请务必注明来源:小文论坛(http://www.xiaowenbbs.com)。 ... [详细]
  • C#实现文件的压缩与解压
    2019独角兽企业重金招聘Python工程师标准一、准备工作1、下载ICSharpCode.SharpZipLib.dll文件2、项目中引用这个dll二、文件压缩与解压共用类 ... [详细]
  • 我有一个从C项目编译的.o文件,该文件引用了名为init_static_pool ... [详细]
  • Linux下MySQL 8.0.28安装指南
    本文详细介绍了在Linux系统上安装MySQL 8.0.28的步骤,包括下载数据库、解压数据包、安装必要组件和启动MySQL服务。 ... [详细]
  • 解决Only fullscreen opaque activities can request orientation错误的方法
    本文介绍了在使用PictureSelectorLight第三方框架时遇到的Only fullscreen opaque activities can request orientation错误,并提供了一种有效的解决方案。 ... [详细]
  • [转]doc,ppt,xls文件格式转PDF格式http:blog.csdn.netlee353086articledetails7920355确实好用。需要注意的是#import ... [详细]
  • 开机自启动的几种方式
    0x01快速自启动目录快速启动目录自启动方式源于Windows中的一个目录,这个目录一般叫启动或者Startup。位于该目录下的PE文件会在开机后进行自启动 ... [详细]
  • 在Windows系统中安装TensorFlow GPU版的详细指南与常见问题解决
    在Windows系统中安装TensorFlow GPU版是许多深度学习初学者面临的挑战。本文详细介绍了安装过程中的每一个步骤,并针对常见的问题提供了有效的解决方案。通过本文的指导,读者可以顺利地完成安装并避免常见的陷阱。 ... [详细]
  • 您的数据库配置是否安全?DBSAT工具助您一臂之力!
    本文探讨了Oracle提供的免费工具DBSAT,该工具能够有效协助用户检测和优化数据库配置的安全性。通过全面的分析和报告,DBSAT帮助用户识别潜在的安全漏洞,并提供针对性的改进建议,确保数据库系统的稳定性和安全性。 ... [详细]
  • 在Linux系统中避免安装MySQL的简易指南
    在Linux系统中避免安装MySQL的简易指南 ... [详细]
  • Android 构建基础流程详解
    Android 构建基础流程详解 ... [详细]
  • 在Ubuntu系统中安装Android SDK的详细步骤及解决“Failed to fetch URL https://dlssl.google.com/”错误的方法
    在Ubuntu 11.10 x64系统中安装Android SDK的详细步骤,包括配置环境变量和解决“Failed to fetch URL https://dlssl.google.com/”错误的方法。本文详细介绍了如何在该系统上顺利安装并配置Android SDK,确保开发环境的稳定性和高效性。此外,还提供了解决网络连接问题的实用技巧,帮助用户克服常见的安装障碍。 ... [详细]
author-avatar
cr罗详青
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有