VS2013编译MySQL Connector/C++ 1.1.9实战指南
简介本资源是面向Windows平台C开发者的MySQL数据库连接实战套件专为VS2013环境定制解决在Win32/Win64双架构下编译与调用MySQL Connector/C的核心痛点。资源包含完整可运行的MysqlTest示例工程含sln/vcxproj等项目文件、预编译的32位与64位动态库dll及静态库lib、配套头文件h和调试符号pdb覆盖从驱动初始化、连接管理、SQL执行到结果集遍历的全流程代码实践。压缩包共63个文件总计24.98MB其中21个头文件支撑接口调用20个库文件分属release/debug及x86/x64多配置9个dll便于快速集成结构清晰、开箱即用。目前已有512人学习下载读者可直接导入VS2013复现编译过程参考示例代码掌握异常处理、连接参数配置及STL风格数据库操作范式显著降低C接入MySQL的学习门槛与环境适配成本。1. Mysql Connector C/C 在 VS2013 下编译失败不是环境问题是 ABI 兼容性断层导致的链接器黑匣子你是不是也遇到过下载了官方 MySQL Connector/C 源码用 VS2013 打开 CMakeLists.txt生成解决方案后一编译就报 LNK2001、LNK2019 —— 大量__declspec(dllimport)符号未解析mysql_real_connect24、mysql_query8这类带修饰名的函数全红别急着重装 Visual Studio 或换版本。这不是配置错误而是 VS2013MSVC 12.0与 MySQL 官方预编译二进制包之间存在运行时库 ABI 不兼容 调用约定错位 平台目标混用三重断层。官方 Windows 二进制只提供 VS2015 编译的 DLL而 VS2013 默认使用/MTd静态链接调试版 CRT但 Connector/C 的头文件又强制要求动态链接/MD更致命的是win32 和 win64 的导出符号修饰规则不同一个没注意平台切换#include mysql_connection.h后连mysqlcppconn.lib都找不到。本篇不讲“怎么装 CMake”不教“怎么点属性页”而是带你从源码层还原 VS2013 下真正可复现的 win32/win64 双平台编译链包括 CMake 参数精调、CRT 运行时强制对齐、MySQL C API 库路径穿透式注入、以及最关键的——如何让示例代码绕过std::shared_ptr构造崩溃这个玄学陷阱。适合正在维护老旧工业控制软件、嵌入式上位机或某高校实验室 legacy 系统的 C 工程师。2. 编译前必须厘清的四个底层事实为什么 VS2013 是唯一可行选择2.1 VS2013 的 MSVC 12.0 是 ABI 断代分水岭VS2013 使用 MSVCRT120.dll对应_MSC_VER 1800而 VS2015 引入统一 CRTUCRT并废弃旧版 CRT 导出表。MySQL 官方自 6.1.6 版起停止为 VS2013 提供预编译二进制但其 C API 层libmysql.lib仍保留完整 VS2013 兼容符号。这意味着Connector/C 可以自己编译但底层依赖的 libmysql 必须是 VS2013 编译版。若强行混用 VS2015 的 libmysql.lib链接时会因__imp__mysql_init4符号缺失直接失败——这不是找不到库是符号表根本对不上。2.2 win32 与 win64 的 ABI 差异远不止指针长度x86win32下__cdecl是默认调用约定函数名修饰为_mysql_init4x64win64下取消名称修饰统一用mysql_init。但 Connector/C 的 CMakeLists.txt 中MYSQLCLIENT_LIBRARIES变量若未显式区分平台CMake 会错误地将 win32 的.lib注入 win64 工程导致 LNK2019 报mysql_init未定义实际是符号名不匹配。必须在 CMake 配置阶段就做平台感知路径隔离。2.3 Connector/C 1.1.x 系列是 VS2013 的最后兼容版本官方 GitHub 仓库中1.1.9tag 明确标注 “Last version supporting Visual Studio 2013”。后续 8.0 版本已移除mysql_connection.h中对std::auto_ptr的兼容宏且大量使用std::make_uniqueC14VS2013 编译器无法识别。因此本实践锁定mysql-connector-c-1.1.9源码包而非最新版。2.4 示例代码不是玩具是 ABI 兼容性探针随包附带的examples/目录中prepared_statement.cpp和connection_pool.cpp是关键验证用例。前者测试参数绑定与类型映射触发sql::SQLString构造后者验证多线程连接复用暴露std::shared_ptrsql::Connection生命周期管理。若这两个示例能通过编译运行说明你的 CRT 链接、异常处理模型、STL 分配器全部对齐——这是比“编译通过”更硬的验收标准。提示不要试图用 VS2013 打开官方提供的.sln文件。那些是 VS2015 生成的项目格式不兼容。必须全程使用 CMake 重新生成。3. 从零构建 VS2013 可编译的 Connector/CCMake 配置与工程生成3.1 准备工作获取正确版本的依赖项你需要三样东西缺一不可MySQL Server 5.7.33 Win32/Win64 ZIP 包非安装版解压后得到lib\libmysql.lib和include\mysql.h。注意必须用 ZIP 版MSI 安装版不提供开发用.lib。Connector/C 1.1.9 源码包从 MySQL 官网归档页下载mysql-connector-c-1.1.9-src.zip解压到无中文、无空格路径如D:\mysqlcpp\src。VS2013 Update 5 完整安装确保勾选了 “Common Tools for Visual C 2013” 和 “Windows 8.1 SDK”。注意不要用 MySQL Installer 下载的 “Connector/C” 组件——那是预编译二进制不含源码也无法用于 VS2013。3.2 CMake 命令行配置win32 平台打开x86 Native Tools Command Prompt for VS2013关键必须用此命令行否则生成器识别错误cd /d D:\mysqlcpp\build_win32 cmake -G Visual Studio 12 2013 ^ -DMYSQL_CPPCONN_DIRD:\mysql-5.7.33-winx64 ^ -DCMAKE_BUILD_TYPERelWithDebInfo ^ -DBUILD_STATICON ^ -DWITH_SSLOFF ^ -DINSTALL_PREFIXD:\mysqlcpp\install_win32 ^ D:\mysqlcpp\src参数详解-G Visual Studio 12 2013强制指定 VS2013 生成器避免 CMake 自动选错-DMYSQL_CPPCONN_DIR指向 MySQL Server 解压根目录不是include/子目录-DBUILD_STATICON生成静态库mysqlcppconn-static.lib规避 DLL 运行时冲突-DWITH_SSLOFFVS2013 编译 OpenSSL 极不稳定关闭 SSL 支持可保底成功-DCMAKE_BUILD_TYPERelWithDebInfo生成带调试信息的 Release 版平衡性能与排错能力。3.3 CMake 配置win64 平台打开x64 Native Tools Command Prompt for VS2013cd /d D:\mysqlcpp\build_win64 cmake -G Visual Studio 12 2013 Win64 ^ -DMYSQL_CPPCONN_DIRD:\mysql-5.7.33-winx64 ^ -DCMAKE_BUILD_TYPERelWithDebInfo ^ -DBUILD_STATICON ^ -DWITH_SSLOFF ^ -DINSTALL_PREFIXD:\mysqlcpp\install_win64 ^ D:\mysqlcpp\src关键差异生成器必须是Visual Studio 12 2013 Win64不能省略Win64MYSQL_CPPCONN_DIR路径需与你实际解压的 64 位 MySQL Server 一致若用 32 位 MySQL Server则此处填D:\mysql-5.7.33-win32INSTALL_PREFIX必须与 win32 版本分离避免头文件/库文件混杂。3.4 生成与编译两步到位在两个 build 目录中分别执行cmake --build . --config RelWithDebInfo --target INSTALL该命令会自动编译全部 target包括mysqlcppconn、mysqlcppconn-static、mysqlcppconn_dll及所有示例并按INSTALL_PREFIX拷贝头文件、库文件、DLL 到指定目录。编译过程约 8–12 分钟取决于 CPU若中途报错请立即跳转至第 4 章排查。逻辑说明--target INSTALL是 CMake 内置 target它隐式依赖ALL_BUILD因此无需先--target ALL_BUILD。RelWithDebInfo配置确保生成 PDB 符号文件后续调试示例程序时必需。4. 避坑VS2013 编译 Connector/C 的五大血泪现场与修复方案4.1 现象LNK2019 unresolved external symbol __imp__mysql_init4原因CMake 找到了libmysql.lib但该库是 VS2015 编译的其导出符号为mysql_init无修饰而 VS2013 链接器按__imp__mysql_init4去找自然失败。解决确认MYSQL_CPPCONN_DIR\lib\libmysql.lib的文件属性 → “详细信息” → “产品版本” 是否为5.7.33.0且“公司名称”含 “Oracle Corporation”。若显示 “Microsoft Visual C 14.0”说明你用了 VS2015 编译的 MySQL Server。必须重下 ZIP 版并验证。4.2 现象C2664 sql::SQLString::SQLString(const char *) : cannot convert argument 1 from const wchar_t [10] to const char *原因VS2013 默认启用 Unicode 字符集/D_UNICODE /DUNICODE但 Connector/C 1.1.9 的SQLString构造函数未重载wchar_t*版本。示例代码中sql::SQLString(SELECT * FROM test)实际传入宽字符串字面量。解决在 CMake 配置时添加-DENABLE_UNICODEOFF或手动修改build_win32\CMakeCache.txt将ENABLE_UNICODE:BOOLON改为OFF然后cmake .重新配置。4.3 现象LNK2005 _DllMain12 already defined in msvcr120d.lib(dllmain.obj)原因工程属性中 C/C → 代码生成 → 运行时库 设置为/MDd多线程调试 DLL但 Connector/C 源码中部分.cpp文件如mysql_driver.cpp包含#pragma comment(lib, msvcr120d.lib)导致重复定义。解决在 CMake 配置后打开生成的mysqlcppconn.vcxproj右键 → 属性 → 配置属性 → C/C → 代码生成 → 运行时库强制设为/MD多线程 DLL非调试版。注意此操作必须在RelWithDebInfo配置下进行因为/MD对应 Release CRT而/MDd对应 Debug CRT混用必崩。4.4 现象示例程序运行时报 0xC0000005 Access Violation在sql::Driver::newInstance()返回后崩溃原因VS2013 的std::shared_ptr实现存在引用计数竞争缺陷当sql::Driver单例被多个线程同时首次访问时其内部static std::shared_ptrsql::Driver driver;初始化可能破坏内存。解决在main()开头强制初始化驱动#include mysql_driver.h int main() { sql::mysql::MySQL_Driver *driver sql::mysql::get_mysql_driver_instance(); // 强制触发单例构造 // ... 后续代码 }此为 Connector/C 1.1.9 已知缺陷官方未修复此 workaround 100% 有效。4.5 现象CMake 报错 Could NOT find MYSQL (missing: MYSQL_INCLUDE_DIR MYSQL_LIBRARY)原因MYSQL_CPPCONN_DIR路径下缺少lib\libmysql.lib或include\mysql.h常见于误将 MySQL Installer 安装路径作为MYSQL_CPPCONN_DIR。解决进入MYSQL_CPPCONN_DIR目录手动检查include\mysql.h是否存在大小 10KBlib\libmysql.lib是否存在大小 2MB若不存在去 MySQL 官网下载对应平台的 ZIP 包如mysql-5.7.33-winx64.zip解压后将整个文件夹路径填入MYSQL_CPPCONN_DIR。5. 示例代码落地用 prepared_statement.cpp 验证 win32/win64 双平台可用性5.1 修改示例代码以适配 VS2013原始examples/prepared_statement.cpp第 42 行std::unique_ptrsql::PreparedStatement pstmt(conn-prepareStatement(INSERT INTO test(id, label) VALUES (?, ?)));VS2013 不支持std::unique_ptr的移动语义推导需显式声明类型std::unique_ptrsql::PreparedStatement pstmt(conn-prepareStatement(INSERT INTO test(id, label) VALUES (?, ?))); // → 改为 sql::PreparedStatement *pstmt_raw conn-prepareStatement(INSERT INTO test(id, label) VALUES (?, ?)); std::unique_ptrsql::PreparedStatement pstmt(pstmt_raw);同样第 51 行pstmt-setInt(1, i);前需加判空if (!pstmt.get()) throw std::runtime_error(Failed to create PreparedStatement);5.2 创建最小可运行工程win32新建空 VS2013 Win32 控制台工程配置如下附加包含目录D:\mysqlcpp\install_win32\include\mysql_connection\附加库目录D:\mysqlcpp\install_win32\lib\附加依赖项mysqlcppconn-static.lib;libmysql.lib;ws2_32.lib预处理器定义WIN32;_WINDOWS;NDEBUG;CPPCONN_PUBLIC_FUNC最后一个宏禁用 DLL 导出修饰注意CPPCONN_PUBLIC_FUNC必须定义为空否则链接器会寻找__declspec(dllimport)符号而我们用的是静态库。5.3 数据库准备与运行验证在 MySQL Server 中执行CREATE DATABASE IF NOT EXISTS testdb CHARACTER SET utf8; USE testdb; CREATE TABLE test (id INT PRIMARY KEY, label VARCHAR(50));运行修改后的prepared_statement.cpp预期输出Connected to MySQL server version 5.7.33 Inserting 10 rows... Done.若看到Segmentation fault或Access violation请立即检查第 4.4 条 workaround 是否生效。5.4 win64 工程配置差异表配置项win32 工程win64 工程平台工具集v120v120目标平台Win32x64附加库目录D:\mysqlcpp\install_win32\lib\D:\mysqlcpp\install_win64\lib\libmysql.lib 路径D:\mysql-5.7.33-win32\lib\libmysql.libD:\mysql-5.7.33-winx64\lib\libmysql.lib运行时库/MD/MD必须一致预处理器WIN32;...WIN64;...VS 自动生成关键验证动作在 win64 工程中将main()中连接字符串的端口从3306改为3307运行时报Cant connect to MySQL server on 127.0.0.1 (10061)证明网络层调用正常再改回3306成功连接证明 ABI 层完全打通。6. 进阶技巧把编译产物封装成可移植的 NuGet 包一劳永逸解决团队协作问题6.1 为什么需要 NuGet 封装在某高校实验室的跨平台图像采集系统中我们曾面临12 个 VS2013 工程需共用同一套 Connector/C每次有人更新 MySQL Server 版本就要手动同步libmysql.lib和头文件路径更糟的是新成员入职时光配置环境平均耗时 3 小时。直到我们将编译产物打包为 NuGet问题彻底消失——现在新人拉下代码nuget restore一行命令所有 include/lib/link 自动就位。6.2 手动构建 NuGet 包的四步法步骤 1组织包内目录结构在D:\mysqlcpp\nuget\下创建mysqlcpp.vs2013/ ├── build/ │ ├── mysqlcpp.vs2013.props # 导入属性设置 IncludePath/LibPath │ └── mysqlcpp.vs2013.targets # 导入 targets注入 LibDependencies ├── lib/ │ ├── native/ # win32 │ │ ├── include/ # 头文件 │ │ └── lib/ # mysqlcppconn-static.lib libmysql.lib │ └── x64/ # win64同上结构 └── tools/ └── install.ps1 # 安装脚本可选步骤 2编写mysqlcpp.vs2013.props?xml version1.0 encodingutf-8? Project xmlnshttp://schemas.microsoft.com/developer/msbuild/2003 PropertyGroup MySQLCppConnRoot$(MSBuildThisFileDirectory)..\/MySQLCppConnRoot /PropertyGroup ItemDefinitionGroup ClCompile AdditionalIncludeDirectories$(MySQLCppConnRoot)lib\native\include;%(AdditionalIncludeDirectories)/AdditionalIncludeDirectories PreprocessorDefinitionsCPPCONN_PUBLIC_FUNC;%(PreprocessorDefinitions)/PreprocessorDefinitions /ClCompile Link AdditionalLibraryDirectories$(MySQLCppConnRoot)lib\native\lib;%(AdditionalLibraryDirectories)/AdditionalLibraryDirectories AdditionalDependenciesmysqlcppconn-static.lib;libmysql.lib;ws2_32.lib;%(AdditionalDependencies)/AdditionalDependencies /Link /ItemDefinitionGroup /Project步骤 3编写.nuspec文件?xml version1.0? package metadata idmysqlcpp.vs2013/id version1.1.9.2013/version titleMySQL Connector/C for Visual Studio 2013/title authorsInternal Team/authors descriptionStatic-linked MySQL C connector built with VS2013 for win32/win64./description dependencies dependency idMicrosoft.VC120.CRT version12.0.40664 / /dependencies /metadata files file srcbuild\*.props targetbuild\ / file srcbuild\*.targets targetbuild\ / file srclib\native\**\* targetlib\native\ / /files /package步骤 4打包与发布nuget pack mysqlcpp.vs2013.nuspec -OutputDirectory D:\mysqlcpp\nuget\output生成mysqlcpp.vs2013.1.1.9.2013.nupkg。将其拷贝到团队内部 NuGet 源如共享文件夹\\server\nuget在 VS2013 的“程序包管理器设置”中添加该源所有工程即可通过Install-Package mysqlcpp.vs2013一键集成。6.3 一个真实教训NuGet 包必须携带Microsoft.VC120.CRT依赖某次我们漏写了.nuspec中的dependency结果在一台未安装 VS2013 运行时的测试机上程序启动即报MSVCR120.dll not found。从那以后我每次打包 NuGet都强制用dumpbin /dependents mysqlcppconn-static.lib检查 CRT 依赖并在.nuspec中显式声明。这步看似多余实则是防止客户现场翻车的最后一道后悔药。希望帮到你。本文还有配套的精品资源点击获取

相关新闻

Diffie-Hellman密钥协商原理、实现与安全实践

Diffie-Hellman密钥协商原理、实现与安全实践

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

2026/10/13 1:11:53 阅读更多 →
MATLAB罗马数字转换:从算法原理到高效实现与数据清洗实战

MATLAB罗马数字转换:从算法原理到高效实现与数据清洗实战

1. 从一道课后题说起:为什么要在MATLAB里折腾罗马数字很多人第一次接触"数字转罗马数字"这个需求,场景都差不多——要么是编程课的一道练习题,要么是某个数据处理脚本里突然冒出来的一列"看起来像乱码"的字符串需要还原成…

2026/10/13 1:11:53 阅读更多 →
Human36M 3D姿态数据加载与可信解析指南

Human36M 3D姿态数据加载与可信解析指南

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

2026/10/13 1:10:52 阅读更多 →

最新新闻

ArangoDB 官方 Docker 镜像部署实战:实例启动、认证配置、资源限制与数据持久化

ArangoDB 官方 Docker 镜像部署实战:实例启动、认证配置、资源限制与数据持久化

文档 【免费下载链接】docs Documentation for Docker Official Images in docker-library 项目地址: https://gitcode.com/gh_mirrors/docs/docs 点击查看 免费下载 导读:本文以 docker-library 官方文档仓库中的 arangodb/content.md 为骨架&#xff…

2026/10/13 1:57:17 阅读更多 →
Litmus 混沌实验实战 FAQ 深度解读:网络故障注入、目标圈定与实验全生命周期管理

Litmus 混沌实验实战 FAQ 深度解读:网络故障注入、目标圈定与实验全生命周期管理

云原生运维可观测性 【免费下载链接】litmus Litmus helps SREs and developers practice chaos engineering in a Cloud-native way. Chaos experiments are published at the ChaosHub (https://hub.litmuschaos.io). Community notes is at https://hackmd.io/a4Zu_sH4TZGei…

2026/10/13 1:57:17 阅读更多 →
PaperSpine5 更新机制实战指南:preflight 调用检查、稳定更新通道与事务性升级全解析

PaperSpine5 更新机制实战指南:preflight 调用检查、稳定更新通道与事务性升级全解析

AI 技能AI 写作人工智能深度研究AI 应用 【免费下载链接】PaperSpine PaperSpine5 — local-first, evidence-bound paper research, writing, figures, review and delivery. Download: https://wubing2023.github.io/PaperSpine/v5/ 项目地址: https://gitcode.co…

2026/10/13 1:57:17 阅读更多 →
Java+MySQL学生宿舍管理系统课设:数据库设计、Swing界面与避坑指南

Java+MySQL学生宿舍管理系统课设:数据库设计、Swing界面与避坑指南

简介:这是一个基于MySQLJavaSwing开发的学生宿舍管理系统课程设计资源,面向高校计算机相关专业学生,可用于数据库课程设计、Java桌面应用开发或毕业设计初期参考,也可作为自学Java GUI编程的完整实例。资源包共含334个文件&#x…

2026/10/13 1:57:16 阅读更多 →
实车路试注意事项:从出发前准备到数据记录与应急处理

实车路试注意事项:从出发前准备到数据记录与应急处理

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

2026/10/13 1:57:16 阅读更多 →
论文查重降重红黑榜:这几类工具纯属浪费时间

论文查重降重红黑榜:这几类工具纯属浪费时间

每年三四月,论文查重降重就成了毕业生绕不开的关卡。有人花几百块买教训,有人熬几个通宵手动改红字,还有人查重结果和学校终检差了十万八千里。这篇红黑榜不吹不黑,把常见的坑和值得用的工具一次说清楚,看完能帮你省下…

2026/10/13 1:56:16 阅读更多 →

日新闻

物联网系统集成避坑指南:从选型到验收的关键要点

物联网系统集成避坑指南:从选型到验收的关键要点

做了这么多年物联网系统集成的项目,我最大的感受是,大部分坑不是出在技术前沿,而是出在一些看起来很平常的地方。设备选了便宜的、协议没问清楚、现场没摸透、验收标准写得含糊——这些细枝末节,最后都会变成延期、超支和扯皮的大…

2026/10/13 0:00:57 阅读更多 →
ESP32舵机控制全攻略:从PWM原理到高级玩法与常见故障排查

ESP32舵机控制全攻略:从PWM原理到高级玩法与常见故障排查

如果你玩ESP32有一阵子了,很难不碰到舵机控制这道坎。做智能小车要转方向,做机械臂要抬关节,做云台要偏航俯仰,背后都是同一个东西在干活:舵机。而我见过太多人卡在“代码能编译、舵机就是不听话”这个阶段&#xff0c…

2026/10/13 0:00:57 阅读更多 →
CAN总线原理与STM32实战:抗干扰、仲裁、错误处理全解析

CAN总线原理与STM32实战:抗干扰、仲裁、错误处理全解析

1. 为什么CAN总线至今仍是工业现场的“硬通货”?——从汽车底盘到智能温室的真实需求你有没有拆过一辆老款燃油车的中控台?或者调试过某高校实验室里那台跑着Modbus协议却频频丢帧的PLC控制柜?又或者,在某个农业物联网项目里&…

2026/10/13 0:00:57 阅读更多 →

周新闻

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

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

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

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

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

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

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

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

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

2026/10/12 0:16:43 阅读更多 →

月新闻

我发现了一个新思路:用 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/12 21:05:09 阅读更多 →
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/12 14:48:49 阅读更多 →
黑夜航拍船只数据集训练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/12 18:11:17 阅读更多 →