【问题标题】:Building libcurl on Visual Studio without threads for name resolving在没有用于名称解析的线程的情况下在 Visual Studio 上构建 libcurl
【发布时间】:2017-05-16 15:16:15
【问题描述】:

我目前正在 Visual Studio 2015 上构建 libcurl。但是,FAQ 声明如下:

libcurl 可能会在内部使用线程进行名称解析,如果它被构建为这样工作

现在,我知道在使用./configure --disable-thread 的linux 上,这将使libcurl 不使用任何线程来解析名称。通过文档,我没有看到任何有关 Visual Studio 标志的信息。他们确实提到配置实用程序在 Windows 上不可用,但没有涉及线程禁用选项。

但是 Visual Studio 是否有类似的标志?

【问题讨论】:

    标签: visual-studio-2015 libcurl


    【解决方案1】:

    我相信您可以通过在 curl 源代码树中定义 USE_SYNC_DNS 或编辑 lib/config-win32.h 来做到这一点。请参阅the section,看起来像:

    #if !defined(USE_SYNC_DNS) && !defined(USE_ARES) && \
        !defined(USE_THREADS_WIN32)
    #  define USE_THREADS_WIN32 1
    #endif
    

    请注意,通过为此目的禁用线程使用代码,您将无法在名称解析期间超时或以其他方式中止 libcurl 的操作。

    【讨论】:

    • 这似乎有效。是的,我知道我将无法超时。感谢您的信息和警告。
    猜你喜欢
    • 2010-12-16
    • 1970-01-01
    • 2021-07-29
    • 1970-01-01
    • 1970-01-01
    • 2015-11-04
    • 1970-01-01
    • 2014-01-28
    • 1970-01-01
    相关资源
    最近更新 更多