【发布时间】:2018-04-09 10:58:26
【问题描述】:
这里的第一个问题,请耐心等待 :) 过去 3 天我一直在网上试图找到一种方法来在我的 Windows 机器上获得以下结果。
example of 'cURL -V' output I need
我找到了很多适用于 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-[LOCATION OF NGHTTP2 FOLDER HERE]' 标志编译 cURL,所以我尝试了一些我认为可行的方法,但我不认为它做到了:'cmake --with-nghttp2 --prefix-[NGHTTP2 文件夹的位置]。 ',然后是 'cmake 安装。 ' 看起来它做了一些事情,但是在 curl-7.56.1/src/ 中构建的 cURL.exe 除了 libcurl 之外没有其他任何东西。
任何建议或指示将不胜感激!谢谢各位:)
【问题讨论】:
-
我建议使用 curl 的
winbuild/目录中的构建文件。 -
谢谢,我能够有所进展。这些是我采取的步骤:(1)下载
curl-7.56.1.tar.gz并解压它(2)在curl-7.56.1文件夹内创建一个“deps”文件夹(3)下载zlib1.dll、libssh2.dll和ssleay32.dll+libeay32.dll(4) 将这四个.dll移动到curl-7.56.1/deps(5) 打开 VS 2017 的开发人员命令提示符(我可以运行的一件事nmake)(6)cd curl-7.56.1/winbuild(7 )nmake /f Makefile.vc mode=dll WITH_SSL=ssleay32.dll WITH_NGHTTP2=nghttp2.dll WITH_ZLIB=zlib1.dll WITH_SSH2=libssh2.dll -
这在
curl-7.56.1/bin中创建了一堆文件夹。它实际上做了一个 curl.exe,但它好像没有考虑到.dlls。我尝试删除WITH_xxx标志,它在/bin内的新文件夹中构建了一个win_ssl 版本的curl。我做错了什么?
标签: windows curl openssl xampp http2