Cygwin 为什么curl_global_sslset()在curl_global_init()之前调用,但返回curlsset却太迟了?

Cygwin 为什么curl_global_sslset()在curl_global_init()之前调用,但返回curlsset却太迟了?,cygwin,libcurl,Cygwin,Libcurl,我正在尝试开发一个应用程序,它使用RESTfulAPI通过SSL连接到服务器。我遇到了,但我无法让它运行 我将其缩短为下面的示例。它编译并运行,但是调用curl_global_sslset()返回的值是2(curlsset_太迟),而不是curlsset_UNKNOWN_BACKEND 注意,我没有调用curl\u global\u init()。根据curl_global_sslset()的libcurl文档: 如果以前配置过后端,或者如果curl\u global\u init 已被调用,函

我正在尝试开发一个应用程序,它使用RESTfulAPI通过SSL连接到服务器。我遇到了,但我无法让它运行

我将其缩短为下面的示例。它编译并运行,但是调用curl_global_sslset()返回的值是2(curlsset_太迟),而不是curlsset_UNKNOWN_BACKEND

注意,我没有调用curl\u global\u init()。根据curl_global_sslset()的libcurl文档:

如果以前配置过后端,或者如果curl\u global\u init 已被调用,函数返回curlsset_太迟

我正在Windows 7上安装的64位Cygwin上编译和运行。curl-config--version和curl-config--features的输出显示在代码下面

为什么会发生这种情况,可以采取什么措施来解决

#include <ctype.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

#include <curl/curl.h>

/*
 * An SSL-enabled libcurl is required for this sample to work (at least one
 * SSL backend has to be configured).
 *
 *  **** This example only works with libcurl 7.56.0 and later! ****
*/

int main(void)
{
    CURLsslset result;
    const curl_ssl_backend **list;
    int i;

    result = curl_global_sslset(-1, NULL, &list);
    if (result == CURLSSLSET_UNKNOWN_BACKEND) {
        for(i = 0; list[i]; i++) {
            printf("SSL backend #%d: '%s' (ID: %d)\n",
                        i, list[i]->name, list[i]->id);
        }
    }
    else {
        printf("curl_global_sslset returns %d\n", result);
    }

    return 0;
}

我无法解释。我在Linux上不会这样。我建议使用调试器来解决它,因为它听起来可能是个bug…我无法解释。我在Linux上不会这样。我建议使用调试器来解决它,因为它听起来可能是一个bug。。。
$ curl-config --version
libcurl 7.59.0


$ curl-config --features
SSL
IPv6
UnixSockets
libz
AsynchDNS
IDN
GSS-API
PSL
SPNEGO
Kerberos
NTLM
NTLM_WB
TLS-SRP
HTTP2
HTTPS-proxy