Windows下libcurl 7.40预编译包实战:VS配置、避坑与并发请求
简介这份资源是 libcurl 7.40 在 Windows 平台下编译完成的成品库面向需要在 C/C 项目中集成 HTTP 请求能力的开发者尤其适合不想自行折腾编译、希望直接调用的初学者与中级工程师。压缩包共 17 个文件以 9 个 h 头文件、6 个 dll 动态库、1 个 lib 导入库和 1 个 cpp 示例源码为主整体约 1.23MB涵盖 curl.h、easy.h、multi.h 等接口声明以及 libcurl.dll、libssh2.dll、zlib1.dll、ssleay32.dll、libeay32.dll 等运行时依赖并附带 libcurl.lib 供链接使用。资源兼容任意 VS 版本无需额外配置即可直接调用示例 cpp 展示了基本使用方式便于快速验证环境是否可用。目前已有 540 人学习下载适合需要快速搭建网络请求模块、研究 libcurl 接口调用与依赖组织方式的读者参考。1. 为什么我还在用 libcurl 7.40 的 Windows 预编译包上周帮一个做工业上位机的朋友排查问题他的 VS2022 项目里用 vcpkg 装的 curl 8.x结果在一台 Win7 工控机上直接起不来——运行库版本对不上重新编译又卡在 OpenSSL 和 zlib 的依赖链上。折腾一下午最后我翻出硬盘里存了好几年的 libcurl 7.40 预编译包解压、配路径、跑通前后不到十分钟。这就是我为什么一直留着这份 Windows 版本的 libcurl 7.40 编译产物它不依赖 vcpkg不挑 VS 版本从 VS2010 到 VS2022 都能直接调用静态库动态库都给全了还附带一个能跑的最小案例。这份资源解决的核心问题就一个让你在 Windows 上跳过 curl 的编译地狱。curl 本身源码编译在 Linux 上还算顺畅到了 Windows 就是另一回事——OpenSSL 要单独编、zlib 要单独编、CMake 生成出来的工程还经常因为 SDK 版本报一堆链接错误。这份预编译包把这些全部前置做完了你拿到手就是 .lib 和 .dll配好包含目录和库目录就能写代码。适合谁适合那些不想在构建系统上耗时间、只想赶紧把 HTTP 请求功能塞进项目里的 C/C 开发者尤其是维护老项目、需要兼容多版本 VS 的场合。2. 拆开这个包目录结构、库文件与依赖关系2.1 拿到压缩包后先看什么解压之后别急着往 VS 里拖先花两分钟把目录结构摸清楚。这类预编译包通常长这样libcurl-7.40-win/ ├── include/ │ └── curl/ │ ├── curl.h │ ├── easy.h │ ├── multi.h │ ├── curlbuild.h │ └── ... ├── lib/ │ ├── libcurl.lib # 静态库Release │ ├── libcurl_debug.lib # 静态库Debug │ ├── libcurl.dll # 动态库 │ ├── libcurl.dll.a # 导入库MinGW 用 │ └── ... ├── bin/ │ └── libcurl.dll # 运行时动态库 └── example/ └── simple.c # 最小调用案例关键文件就三类include/curl/下的头文件、lib/下的 .lib 文件、bin/下的 .dll。头文件是编译时用的.lib 是链接时用的.dll 是运行时用的。三者缺一不可尤其是动态链接的场景很多人编译链接都过了一运行就报“找不到 libcurl.dll”就是忘了把 bin 目录下的 dll 拷到 exe 旁边。注意不同来源的预编译包目录命名可能略有差异有的把 x86 和 x64 分开放有的把 Debug 和 Release 分开放。拿到手先确认你需要的架构和配置对应的文件在哪一层。2.2 静态链接还是动态链接先做这个决定这是用 libcurl 的第一个分岔路口选错了后面全是坑。静态链接的意思是libcurl 的代码直接编进你的 exe最终产物只有一个 exe 文件不依赖外部 dll。好处是部署干净拷一个文件就能跑坏处是 exe 体积会大几百 KB而且如果多个模块都用 curl可能出现符号冲突。动态链接的意思是你的 exe 只记录“我需要 libcurl.dll”运行时再去加载。好处是 exe 小、多个程序可以共享同一个 dll坏处是部署时必须带上 dll漏了就是运行时崩溃。我一般这么选如果是内部工具、上位机软件、需要单文件部署的场景走静态链接如果是插件式架构、多个模块共用、或者需要热更新 curl 版本的场景走动态链接。这份 7.40 的包两种库都给全了你按需取用。还有一个隐藏选项静态链接时要不要带/MT还是/MD。这取决于你的项目本身用的是哪种运行时库。如果你的项目是/MD多线程 DLL 运行时那 libcurl 的静态库也必须是/MD编译的否则链接时会报LNK2038运行时库不匹配。这份包里的 libcurl.lib 通常是/MT或/MD其中一种拿到手先用dumpbin /directives libcurl.lib看一眼确认和你项目的运行时库设置一致。2.3 依赖库SSL 和 zlib 去哪了curl 本身不处理 HTTPS 加密它依赖 OpenSSL或 Schannel来做 TLS 握手也不处理压缩依赖 zlib 来解 gzip。这份预编译包既然能直接跑 HTTPS 请求说明编译时已经把 SSL 后端和 zlib 静态编进去了。怎么验证打开include/curl/curlbuild.h找CURL_VERSION_SSL和CURL_VERSION_LIBZ相关的宏定义。或者在代码里调用curl_version_info()打印features字段看有没有CURL_VERSION_SSL和CURL_VERSION_LIBZ的标志位。如果这两个都有说明你拿到的是一个功能完整的包HTTPS 和 gzip 都能直接用。如果 features 里没有 SSL那这个包只能发 HTTP 请求HTTPS 会直接报错。这种情况要么换包要么自己补 OpenSSL 的依赖——但那就回到编译地狱了不建议。3. 在 VS 里配起来从新建工程到第一个请求跑通3.1 工程配置三个路径必须配对打开 VS新建一个空的控制台项目然后右键项目 → 属性需要改三个地方。第一C/C → 常规 → 附加包含目录加上libcurl-7.40-win/include。这样#include curl/curl.h才能找到头文件。第二链接器 → 常规 → 附加库目录加上libcurl-7.40-win/lib。这样链接器才能找到 libcurl.lib。第三链接器 → 输入 → 附加依赖项加上libcurl.lib。如果你用的是 Debug 配置可能要加libcurl_debug.lib具体看包里的文件名。如果是动态链接还需要把libcurl-7.40-win/bin加到系统 PATH或者把 libcurl.dll 拷到 exe 输出目录。我一般直接在项目属性 → 生成事件 → 后期生成事件里加一行拷贝命令xcopy /Y /I $(SolutionDir)libcurl-7.40-win\bin\libcurl.dll $(OutDir)这样每次编译完 dll 自动就位省得手动拷。注意如果你的项目是 x64 的确认包里的 lib 文件也是 x64 的。32 位和 64 位的 .lib 不能混用链接时会报LNK1112模块计算机类型冲突。3.2 最小可运行案例一个 GET 请求配置好了之后用这个最小案例验证环境是否跑通。这段代码做的事很简单初始化 curl、设置 URL、设置一个回调函数把收到的数据写到控制台、执行请求、清理。#include stdio.h #include curl/curl.h // 回调函数curl 每收到一段数据就调用一次 // ptr 是数据指针size*nmemb 是数据长度userdata 是用户自定义指针 static size_t write_callback(void *ptr, size_t size, size_t nmemb, void *userdata) { size_t total size * nmemb; fwrite(ptr, 1, total, stdout); // 直接打到控制台 return total; // 必须返回实际处理的字节数否则 curl 会认为出错 } int main(void) { CURL *curl; CURLcode res; curl_global_init(CURL_GLOBAL_DEFAULT); // 全局初始化程序启动时调一次 curl curl_easy_init(); // 创建 easy handle if (curl) { curl_easy_setopt(curl, CURLOPT_URL, http://example.com); curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, write_callback); curl_easy_setopt(curl, CURLOPT_FOLLOWLOCATION, 1L); // 跟随 301/302 跳转 curl_easy_setopt(curl, CURLOPT_TIMEOUT, 10L); // 10 秒超时 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); // 释放 easy handle } curl_global_cleanup(); // 全局清理程序退出前调一次 return 0; }几个关键点说明。curl_global_init必须在任何其他 curl 函数之前调用多线程环境下尤其重要它初始化的是全局状态比如 SSL 库。curl_easy_init返回一个 handle所有curl_easy_setopt都是对这个 handle 设参数。CURLOPT_WRITEFUNCTION设置的是数据到达时的回调如果你不设置curl 默认把数据打到 stdout。CURLOPT_TIMEOUT设的是整个请求的超时秒数不设的话遇到慢服务器可能卡很久。编译运行如果控制台输出了 example.com 的 HTML说明环境配通了。3.3 换成 HTTPS 和 POST参数怎么改HTTPS 只需要把 URL 的http://改成https://其他不变。curl 会自动用编译时绑定的 SSL 后端做握手。如果报CURLE_SSL_CACERT错误说明证书验证失败——常见于自签名证书的内网服务。开发阶段可以临时用CURLOPT_SSL_VERIFYPEER设 0 跳过验证但生产环境千万别这么干。curl_easy_setopt(curl, CURLOPT_SSL_VERIFYPEER, 0L); // 仅调试用生产环境必须设 1 curl_easy_setopt(curl, CURLOPT_SSL_VERIFYHOST, 0L); // 同上POST 请求需要多设两个参数CURLOPT_POSTFIELDS设请求体CURLOPT_POSTFIELDSIZE设请求体长度或者用CURLOPT_POSTFIELDS传以\0结尾的字符串curl 会自动算长度。const char *json_body {\name\:\test\,\value\:123}; struct curl_slist *headers NULL; headers curl_slist_append(headers, Content-Type: application/json); curl_easy_setopt(curl, CURLOPT_URL, https://httpbin.org/post); curl_easy_setopt(curl, CURLOPT_POSTFIELDS, json_body); curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headers); res curl_easy_perform(curl); curl_slist_free_all(headers); // 别忘了释放 header 链表curl_slist_append返回的是链表新头节点必须用返回值更新指针不能直接curl_slist_append(headers, ...)而不接收返回值。这个链表用完必须curl_slist_free_all释放否则内存泄漏。4. 避坑与排查那些让我加班到凌晨的报错4.1 LNK2019 无法解析的外部符号现象编译通过链接时报一堆LNK2019说__imp__curl_easy_init之类的符号找不到。原因链接器没找到 libcurl.lib或者找到的版本不对。常见情况是附加库目录配了但附加依赖项没加或者加了但文件名写错了比如实际叫libcurl_a.lib你写了libcurl.lib。解决先确认lib/目录下实际的 .lib 文件名然后在附加依赖项里写对。如果还是不行用dumpbin /symbols libcurl.lib | findstr curl_easy_init确认这个库里确实有你要的符号。如果符号前面带__imp__说明是导入库对应动态链接不带的是静态库。4.2 运行时提示找不到 libcurl.dll现象编译链接都过了双击 exe 弹窗说“找不到 libcurl.dll”或者程序启动直接闪退。原因动态链接时 exe 运行时需要加载 libcurl.dll但 dll 不在 exe 同目录、也不在系统 PATH 里。解决把bin/libcurl.dll拷到 exe 输出目录。用 VS 的话在后期生成事件里加 xcopy 命令一劳永逸。或者干脆改用静态链接把 libcurl.lib 直接编进去就不需要 dll 了。4.3 HTTPS 请求返回 CURLE_SSL_CACERT现象HTTP 请求正常HTTPS 请求报错CURLE_SSL_CACERT错误码 60提示证书验证失败。原因curl 找不到受信任的 CA 证书列表。Windows 上 curl 默认可能去读某个路径的 cacert.pem但预编译包不一定带这个文件。解决下载一份最新的 cacert.pemMozilla 的 CA 列表放到 exe 同目录然后用CURLOPT_CAINFO指定路径curl_easy_setopt(curl, CURLOPT_CAINFO, cacert.pem);如果是内网自签名证书把自签 CA 的证书追加到 cacert.pem 里或者单独用CURLOPT_CAINFO指向自签证书文件。4.4 多线程下崩溃或数据错乱现象单线程跑得好好的一放到多线程环境就随机崩溃或者回调函数收到的数据对不上。原因curl 的 easy handle 不是线程安全的多个线程共用一个 handle 会出问题。另外curl_global_init如果在多个线程里各调一次也可能出问题。解决每个线程用自己的 easy handle不要共享。curl_global_init在程序启动时主线程调一次之后所有线程直接用。如果确实需要多线程共享用curl_multi接口但那是另一套用法了。4.5 请求卡死没有超时现象请求某个 URL 时程序卡住不动等了几分钟也没反应。原因没有设置超时参数。curl 默认不超时遇到服务器不响应或者网络中断就会一直等。解决至少设CURLOPT_TIMEOUT整个请求的总超时秒数和CURLOPT_CONNECTTIMEOUT连接阶段超时秒数。我一般设CURLOPT_CONNECTTIMEOUT为 5 秒CURLOPT_TIMEOUT为 30 秒根据实际业务调整。curl_easy_setopt(curl, CURLOPT_CONNECTTIMEOUT, 5L); curl_easy_setopt(curl, CURLOPT_TIMEOUT, 30L);5. 进阶技巧用 curl_multi 做并发请求与性能验证5.1 什么时候该从 easy 换到 multicurl_easy_perform是阻塞的一个请求发出去必须等它完成才能发下一个。如果你要请求 10 个接口串行就是 10 倍等待时间。curl_multi接口允许你同时管理多个 easy handle在一个线程里用事件循环驱动它们并发执行。我一般这么判断如果请求数量少个位数且对延迟不敏感easy 就够了如果需要批量拉取、或者要在 UI 线程里保持响应就上 multi。multi 的另一个好处是可以在等待期间做别的事不用开新线程。5.2 一个可复现的并发拉取案例下面这段代码同时发起 3 个请求用curl_multi_perform驱动直到全部完成。#include stdio.h #include string.h #include curl/curl.h #define NUM_URLS 3 static size_t discard_cb(void *ptr, size_t size, size_t nmemb, void *userdata) { return size * nmemb; // 不处理数据直接丢弃 } int main(void) { CURL *handles[NUM_URLS]; CURLM *multi; int still_running 0; int i; const char *urls[NUM_URLS] { http://example.com, http://example.org, http://example.net }; curl_global_init(CURL_GLOBAL_DEFAULT); multi curl_multi_init(); for (i 0; i NUM_URLS; i) { handles[i] curl_easy_init(); curl_easy_setopt(handles[i], CURLOPT_URL, urls[i]); curl_easy_setopt(handles[i], CURLOPT_WRITEFUNCTION, discard_cb); curl_easy_setopt(handles[i], CURLOPT_TIMEOUT, 15L); curl_multi_add_handle(multi, handles[i]); // 把 easy handle 加入 multi } // 驱动事件循环直到所有请求完成 curl_multi_perform(multi, still_running); while (still_running) { int numfds; curl_multi_wait(multi, NULL, 0, 1000, numfds); // 最多等 1 秒 curl_multi_perform(multi, still_running); } // 检查每个请求的结果 for (i 0; i NUM_URLS; i) { CURLcode res; curl_easy_getinfo(handles[i], CURLINFO_RESPONSE_CODE, res); printf(URL %d done, response code: %ld\n, i, (long)res); curl_multi_remove_handle(multi, handles[i]); curl_easy_cleanup(handles[i]); } curl_multi_cleanup(multi); curl_global_cleanup(); return 0; }逻辑说明curl_multi_add_handle把 easy handle 注册到 multi 里之后curl_multi_perform会尝试推进所有 handle 的状态。still_running是输出参数表示还有几个请求没完成。curl_multi_wait负责等待网络事件避免忙轮询烧 CPU第四个参数是最大等待毫秒数。循环直到still_running为 0然后逐个检查结果。参数说明curl_multi_wait的超时设 1000ms 是个折中值设太小会频繁空转设太大会增加响应延迟。实际项目中可以根据请求的预期响应时间调整。CURLOPT_TIMEOUT在 multi 模式下同样生效超时的 handle 会被标记为完成并返回超时错误码。5.3 验证清单怎么确认这个包真的能用拿到任何预编译包我都会跑一遍这个验证清单确认没有暗坑检查项方法预期结果头文件完整编译包含 curl.h 的空文件无报错静态库符号dumpbin /symbols libcurl.lib | findstr curl_easy_init找到符号动态库导出dumpbin /exports libcurl.dll | findstr curl_easy找到导出函数HTTP 请求跑最小案例请求 http 地址返回 200HTTPS 请求请求 https 地址返回 200无证书错误超时生效请求一个不存在的慢地址在设定秒数后返回超时错误多线程安全两个线程各用独立 handle 并发请求无崩溃数据正确这个清单跑完基本能确认包的质量。如果 HTTPS 那一步失败检查 cacert.pem 是否就位如果超时那一步不生效检查CURLOPT_TIMEOUT是否设对。从那以后我每次拿到新的预编译库都强制走一遍这个验证清单不再凭感觉直接往项目里塞。希望帮到你。本文还有配套的精品资源点击获取

相关新闻

材通PPR精工保温管|全国区域代理商招募中

材通PPR精工保温管|全国区域代理商招募中

很多人买热水管时容易踩一个认知坑:这水管“耐95℃”,放阳台、露台、屋顶肯定没问题。结果过一个夏天,明装那段管子表面发白、手一敲邦邦硬,这就是被紫外线“烤”老了。耐热的PPR管子为何扛不住晒?耐热和耐晒&#xff…

2026/10/16 7:17:05 阅读更多 →
程序员转型AI大模型:机遇、陷阱与实战路线全解析

程序员转型AI大模型:机遇、陷阱与实战路线全解析

我自己在工程师圈子里观察到一个现象:最近半年,讨论“程序员转型AI大模型”的人,比讨论框架版本更新的人还多。打开技术社区,永远有人在问“现在转大模型还来得及吗”;朋友圈里,不是晒大模型课程打卡&#…

2026/10/16 7:17:05 阅读更多 →
Git新手5步实操地图:从clone到push的最小闭环

Git新手5步实操地图:从clone到push的最小闭环

1. 这不是命令行说明书,而是一张你随时能抄作业的Git操作地图“10分钟图文并茂手把手教会你Git常用指令”——看到这个标题,我第一反应不是点开,而是把手机倒扣在桌面上,泡了杯浓茶。为什么?因为过去三年里&#xff0c…

2026/10/16 7:17:05 阅读更多 →

最新新闻

2025罗湖房屋漏水抢修服务商权威榜单:如何选对靠谱团队?

2025罗湖房屋漏水抢修服务商权威榜单:如何选对靠谱团队?

每年一到雨季或者台风过境,罗湖这边关于房屋漏水的咨询量就成倍往上翻。尤其是一些房龄超过二十年的小区,卫生间渗水、外墙开裂、阳台倒灌,各种问题扎堆冒出来。很多业主第一反应是随便找个补漏师傅先堵住再说,结果往往是修了又漏…

2026/10/16 7:55:15 阅读更多 →
VisualSVN Server + TortoiseSVN:Windows下SVN版本控制环境搭建与实战

VisualSVN Server + TortoiseSVN:Windows下SVN版本控制环境搭建与实战

前阵子帮一个项目组搭版本控制环境,对方第一句话就是:能不能别整Git?我愣了一下,后来看了他们的仓库才明白——项目里有大量设计稿、编译产物和二进制资源,Git仓库动辄几个GB,clone一次能喝完一杯咖啡。这种…

2026/10/16 7:55:15 阅读更多 →
老品牌第二曲线:识别拐点、迁移资产与避开组织陷阱的系统指南

老品牌第二曲线:识别拐点、迁移资产与避开组织陷阱的系统指南

1. 先别急着谈第二曲线:判断老品牌是否真的到了拐点我做企业经营和品牌咨询这些年,见过太多"为创新而创新"的企业。一听到第二曲线这个概念,立刻精神亢奋,觉得老业务没希望了,要赶紧开一条新路。但结果往往是…

2026/10/16 7:55:15 阅读更多 →
第64章 未济•未济 没有终点

第64章 未济•未济 没有终点

那本日记是在2048年底开始写的。封面是深蓝色的,纸张偏厚,页边没有横线。悦儿在扉页上只写了一个年份——"2048"——没有写更具体的日期,因为她不确定这会是一本持续多久的日记,也不确定它最终会是什么样的形态。她在写…

2026/10/16 7:55:15 阅读更多 →
《穿针:一部挂谷猜想的64重奏》顺利完结,感谢读者厚爱。悦儿和墨子也结束休假,继续本站《弦光代码》。望读者继续关注《弦光代码》,谢谢!

《穿针:一部挂谷猜想的64重奏》顺利完结,感谢读者厚爱。悦儿和墨子也结束休假,继续本站《弦光代码》。望读者继续关注《弦光代码》,谢谢!

《穿针:一部挂谷猜想的64重奏》顺利完结,感谢读者厚爱。悦儿和墨子也结束休假,继续本站《弦光代码》。望读者继续关注《弦光代码》,谢谢!

2026/10/16 7:55:15 阅读更多 →
AgentScope多智能体协作框架:消息驱动与分布式编排实战

AgentScope多智能体协作框架:消息驱动与分布式编排实战

1. 从一次深夜调试说起:AgentScope 到底解决什么问题第一次接触 AgentScope 是在一个多智能体协作的模拟项目里。当时我需要让三个不同角色的智能体——一个负责信息检索、一个负责逻辑推理、一个负责结果校验——在同一个任务流里协同工作。最初的想法很朴素&#…

2026/10/16 7:54:14 阅读更多 →

日新闻

个人 AI Agent 平台接入 TaoToken:统一 Key 与 API 通道的配置大纲

个人 AI Agent 平台接入 TaoToken:统一 Key 与 API 通道的配置大纲

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/16 0:00:05 阅读更多 →
信号与系统频域分析作业解题指南

信号与系统频域分析作业解题指南

1. 作业背景与核心要求解析信号与系统作为电子信息类专业的核心基础课,其作业设计往往直接关联课程的核心知识框架。2026年春季第六次作业的布置,通常对应着课程进展到频域分析的关键阶段。根据常规教学进度推测,本次作业可能涉及以下核心内容…

2026/10/16 0:00:05 阅读更多 →
Django MVT实战:从零构建图书借阅系统,彻底搞懂Model-View-Template分层

Django MVT实战:从零构建图书借阅系统,彻底搞懂Model-View-Template分层

1. 从一个"四不像"的练手项目说起如果你已经看完了Django的官方教程前几章,跟着敲完了投票应用,大概会有一种"我好像会了,又好像什么都不会"的割裂感。教程里每个知识点都是拆开的——这一章讲模型,下一章讲视…

2026/10/16 0:00:05 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/15 16:18:54 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/15 19:41:51 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/15 13:48:15 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/15 0:14:36 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/16 3:49:43 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/15 9:49:14 阅读更多 →