美文网首页C++
集成 libcurl(7.61.0)

集成 libcurl(7.61.0)

作者: 研匠 | 来源:发表于2018-07-13 15:44 被阅读1次

    Visual C++ 2017 集成 libcurl(7.61.0)

    下载

    编译 libcurl 静态库(x86)

    • 打开VC解决方案 D:\SDK\curl-7.61.0\projects\Windows\VC15\curl-all.sln
    • 选择配置:LIB Release - LIB OpenSSL
    • libcurl工程
      • 包含目录:
        • C:\Program Files (x86)\Windows Kits\10\Include\10.0.17134.0\ucrt(否则会报 “stdio.h”: No such file or directory)
        • D:\SDK\openssl-1.1.0h\build\x86\include(OpenSSL)
    • curl工程
      • 包含目录:
        • C:\Program Files (x86)\Windows Kits\10\Include\10.0.17134.0\ucrt
      • 库目录:
        • D:\SDK\openssl-1.1.0h\build\x86\lib
        • C:\Program Files (x86)\Windows Kits\10\lib\10.0.17134.0\ucrt\x86
      • 附加依赖项:libcrypto.lib;libssl.lib;
        (注意:工程中的依赖的是老版OpenSSL:libeay32.lib;ssleay32.lib; 需要用新版OpenSSL代替)
    • 编译解决方案,生成 D:\SDK\curl-7.61.0\build\Win32\VC15\LIB Release - LIB OpenSSL\libcurl.lib

    编译 libcurl 静态库(x64)

    • 与编译x86雷同
    • libcurl工程
      • 包含目录:
        • C:\Program Files (x86)\Windows Kits\10\Include\10.0.17134.0\ucrt
        • D:\SDK\openssl-1.1.0h\build\x64\include,OpenSSL
    • curl工程
      • 包含目录:
        • C:\Program Files (x86)\Windows Kits\10\Include\10.0.17134.0\ucrt
      • 库目录:
        • D:\SDK\openssl-1.1.0h\build\x64\lib
        • C:\Program Files (x86)\Windows Kits\10\lib\10.0.17134.0\ucrt\x64
      • 附加依赖项:libcrypto.lib;libssl.lib;
    • 编译解决方案,生成 D:\SDK\curl-7.61.0\build\Win64\VC15\LIB Release - LIB OpenSSL\libcurl.lib

    VC2017 集成 libcurl 静态库

    • 包含目录:D:\SDK\curl-7.61.0\include

    • 库目录:D:\SDK\curl-7.61.0\build\Win32\VC15\LIB Release - LIB OpenSSL

    • 附加依赖项:libcurl.lib;wldap32.lib;

      • 另外需要附加OpenSSL的库:libcrypto.lib;libssl.lib;crypt32.lib;ws2_32.lib;
    • 使用静态库需要添加 CURL_STATICLIB 宏,或“C/C++>预处理器>预处理器定义”中添加

    • 示例代码

        #define CURL_STATICLIB
        #include <curl/curl.h>
        
        int main(int argc, char * argv[])
        {
            printf("%s\n", "main.cpp");
        
            CURL *curl;
            CURLcode res;
        
            curl = curl_easy_init();
            if (!curl)
            {
                printf("error\n");
                return 0;
            }
        
            curl_easy_setopt(curl, CURLOPT_URL, "http://www.baidu.com/");
            res = curl_easy_perform(curl);
        
            if (res != CURLE_OK)
                fprintf(stderr, "curl_easy_perform() failed: %s\n",
                    curl_easy_strerror(res));
        
            curl_easy_cleanup(curl);
        
            return 0;
        }
      

    相关文章

      网友评论

        本文标题:集成 libcurl(7.61.0)

        本文链接:https://www.haomeiwen.com/subject/owvrpftx.html