如何在c ++中构建,安装和运行curllib

时间:2018-03-20 17:38:22

标签: c++ windows curl visual-studio-2015 libcurl

我正在尝试在Windows 10上使用c ++构建,安装和运行curllib,但在运行开始时会锁定。以下是步骤:

  1. https://curl.haxx.se/download.html
  2. 下载curl-7.59.0.zip
  3. 提取到c:\ opt \ curl-7.59.0
  4. 开始菜单> Visual Studio 2015> VS2015的开发人员命令提示
  5. cd C:\ Program Files(x86)\ Microsoft Visual Studio 14.0 \ VC \ bin \ amd64
  6. vcvars64.bat
  7. cd c:\ opt \ curl-7.59.0 \ winbuild
  8. nmake / f Makefile.vc mode = dll MACHINE = x64 DEBUG = yes
  9. 在VS2015中,项目>属性>配置属性> VC ++目录>包含目录,添加C:\ opt \ curl-7.59.0 \ builds \ libcurl-vc14-x64-debug-dll-ipv6-sspi-winssl \ include \卷曲
  10. 在VS2015中,项目>属性>配置属性> C / C ++>通用/附加包含目录,添加C:\ opt \ curl-7.59.0 \ builds \ libcurl-vc14-x64-debug-dll- IPv6的SSPI-winssl \包括\卷曲
  11. 在VS2015,项目>属性>配置属性>链接器>其他依赖项中,添加C:\ opt \ curl-7.59.0 \ builds \ libcurl-vc14-x64-debug-dll-ipv6-sspi-winssl \ lib \ libcurl_debug.lib
  12. 在VS2015中,项目>属性>配置属性>链接器>常规>其他库依赖项,添加C:\ opt \ curl-7.59.0 \ builds \ libcurl-vc14-x64-debug-dll-ipv6-sspi-winssl \ lib中\ libcurl_debug.lib
  13. 在VS2015中,项目>属性>配置属性>链接器>输入>其他依赖项,添加C:\ opt \ curl-7.59.0 \ builds \ libcurl-vc14-x64-debug-dll-ipv6-sspi-winssl \ LIB \ libcurl_debug.lib
  14. 项目>属性>平台显示活动(x64)。配置:显示活动(调试)
  15. 在VS2015中,项目>属性>配置属性> C / C ++>预处理器,添加CURL_STATICLIB
  16. 在VS2015中,构建>清洁解决方案
  17. 在VS2015中,构建>重建解决方案
  18. 程序运行但锁定。没有错误消息写入日志文件。事实上,它甚至没有触及。如果我注释掉这一行:

    curl = curl_easy_init();
    

    然后它会运行。但当然,我没有任何访问卷曲,这是重点。

    以下是一些代码:

      #include <curl.h>
    
      vector<string> getDrawingNames(const string &projectName) {
        logFile << "starting getDrawingNames" << endl;
        vector<string> drwNames;
        CURL *curl;
        CURLcode res;
        string readBuffer;
    
        curl = curl_easy_init();   //DOESN'T LIKE THIS LINE
        /*
        if (curl) {
            curl_easy_setopt(curl, CURLOPT_URL, "http://www.google.com");
            //curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, WriteCallback);
            curl_easy_setopt(curl, CURLOPT_WRITEDATA, &readBuffer);
            res = curl_easy_perform(curl);
            curl_easy_cleanup(curl);
    
            logFile << readBuffer << endl;
        }   
        */
        return drwNames;
    }
    

    有什么建议吗?

0 个答案:

没有答案