Cocos2d-JS win32 获取远程图片失败

本文档详细记录了在Cocos2d-JS的win32应用程序中,使用libcurl库获取远程图片时遇到的CURLE_WRITE_ERROR问题。通过分析场景、调试方法,作者发现该错误源于win32应用中标准输出的写入失败。最终解决方案是手动指定WRITEFUNCTION,避免使用默认的std out,从而成功修复问题。
摘要由CSDN通过智能技术生成

Cocos2d-JS win32 获取远程图片失败

在win32 application 中使用libcurl.lib获取远程图片的大小返回CURLE_WRITE_ERROR
1、bug出现场景

当我在win32平台运行Cocos2d-JS的textureCacheTest的时候,发现第一个测试例,加载远程图片,一直获取失败,深入断点以后发现是使用libcurl获取图片信息时返回了错误码 23, CURLE_WRITE_ERROR 官方的解释是

An error occurred when writing received data to a local file, or an
error was returned to libcurl from a write callback.

(着急看解决方案的同学请看最后。)

问题代码如下:

void *curlHandle = curl_easy_init();
CC_ASSERT(headerInfo && "headerInfo must not be null");

curl_easy_setopt(curlHandle, CURLOPT_URL, url.c_str());
curl_easy_setopt(curlHandle, CURLOPT_HEADER, 1);
curl_easy_setopt(curlHandle, CURLOPT_NOBODY, 1);
curl_easy_setopt(curlHandle, CURLOPT_NOSIGNAL, 1);

if ((_lastErrCode=curl_easy_perform(
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值