Windows平台Makefile构建指南:MSYS2、NMake与WSL三种方案详解
1. 为什么在Windows上折腾Makefile是个技术活如果你是从Linux或macOS转战Windows的开发者第一次在Windows上尝试运行一个开源项目的make命令时大概率会收获一个冰冷的错误提示“‘make’不是内部或外部命令也不是可运行的程序或批处理文件。” 这个瞬间你可能会深刻体会到什么叫“平台差异”。Makefile这个在Unix-like系统上如同空气和水一样自然存在的构建工具在Windows上却需要你额外费一番功夫才能让它运转起来。这背后的核心原因在于Makefile及其配套的make工具本质上是Unix哲学和工具链的产物。它重度依赖shell环境如bash、路径分隔符正斜杠/、以及一系列标准的Unix命令行工具如rm,cp,echo等。而Windows的CMD或PowerShell有着完全不同的生态。因此在Windows上使用Makefile本质上是在搭建一个能让Unix风格构建脚本运行的“兼容层”或“替代环境”。网络上相关的搜索热词非常集中mingw、gcc、vscode、msvc和mingw区别。这恰恰反映了开发者们最常走的几条路要么安装一个完整的Unix-like环境如MSYS2/MinGW要么寻求原生Windows工具链如MSVC的替代方案再要么就是在强大的编辑器如VSCode中寻找集成支持。今天我就结合自己多年的跨平台开发经验为你彻底梳理清楚在Windows上玩转Makefile的三种主流方法并深入分析每种方法的原理、选型理由、具体操作以及那些官方文档里不会写的“坑”。2. 方法一拥抱MSYS2与MinGW-w64——最接近Linux的体验这是我最推荐也是绝大多数从Linux迁移过来的开发者的首选方案。它的核心思想是既然Windows原生不支持那我就在Windows上“模拟”出一个轻量级的Unix-like环境。MSYS2和MinGW-w64就是干这个的黄金组合。2.1 核心组件拆解MSYS2、MinGW-w64与GCC很多人容易混淆这几个概念我们先来理清它们的关系和各自扮演的角色。MSYS2你可以把它理解为一个在Windows上运行的、专门为开发打造的最小化Unix环境。它提供了一个Bash shell、一个包管理器pacman源自Arch Linux、以及一整套Unix核心工具如coreutils,findutils,grep等。当你在这个环境里打开终端输入ls -la、rm -rf、./configure这些命令时它们都能正常工作。MSYS2的关键在于它提供了一个POSIX兼容的运行时层和API转换层通过msys-2.0.dll让为Unix编写的软件以为自己在Unix上运行。MinGW-w64它的全称是“Minimalist GNU for Windows 64-bit”。顾名思义它是一个编译器工具链项目提供了GCC、GDB、Binutils等工具的Windows原生端口。这里“原生”的意思是它编译出来的程序是纯粹的Windows PE格式可执行文件.exe,.dll不依赖任何额外的运行时库比如Cygwin的cygwin1.dll可以直接在任意Windows电脑上运行。MinGW-w64是原MinGW项目的现代化分支支持32位和64位。GCCGNU编译器集合是MinGW-w64工具链的核心。我们常说的“安装GCC”在Windows语境下通常就是指安装包含GCC的MinGW-w64发行版。那么它们和Makefile有什么关系MSYS2的包管理器里提供了一个名为make的软件包。当你安装它之后就能在MSYS2的终端里直接使用make命令了。这个make是GNU Make的Windows移植版它运行在MSYS2提供的兼容层上能够完美理解Makefile中的Unix语法如$(RM) -f。2.2 详细安装与配置指南明白了原理安装就清晰了。我们不推荐去各种第三方网站下载零散的安装包MSYS2官方提供了最清晰、最易维护的路径。第一步安装MSYS2访问MSYS2官网https://www.msys2.org/下载安装程序。运行安装程序建议安装路径不要有中文和空格例如C:\msys64。安装完成后在开始菜单中找到“MSYS2 UCRT64”并启动。这是目前最推荐使用的环境它使用较新的UCRT运行时库与Visual Studio兼容性更好。注意MSYS2提供了多个启动快捷方式如MSYS2 MSYS、MSYS2 MINGW64、MSYS2 UCRT64。简单来说MSYS2 MSYS: 最“纯净”的MSYS2环境主要用于维护MSYS2自身。编译软件时生成的文件可能依赖MSYS2的DLL。MSYS2 MINGW64/UCRT64: 这些是“MinGW-w64”环境。在这里工具链会认为目标是纯Windows编译出的程序是原生的。我们日常开发就使用这个。第二步安装必要的工具链在打开的UCRT64终端中首先更新软件包数据库这步很重要能避免后续安装失败pacman -Syu如果提示关闭终端请关闭后重新打开UCRT64终端再次运行更新命令直至完成。然后安装开发基础工具包pacman -S --needed base-devel mingw-w64-ucrt-x86_64-toolchain这个base-devel包含make、autoconf、automake等构建工具。mingw-w64-ucrt-x86_64-toolchain是一个元包它会安装GCC、G、GDB、Binutils等一整套编译调试工具。第三步配置系统环境变量关键步骤为了让Windows的CMD或PowerShell也能直接使用这些工具我们需要将MinGW-w64的bin目录添加到系统的PATH环境变量中。找到你的MSYS2安装目录例如C:\msys64。进入ucrt64\bin目录完整路径如C:\msys64\ucrt64\bin。这个目录下就有make.exe,gcc.exe,g.exe,gdb.exe等。复制此路径。在Windows搜索栏输入“环境变量”打开“编辑系统环境变量”。点击“环境变量”在“系统变量”中找到Path变量双击编辑。点击“新建”将刚才复制的ucrt64\bin路径粘贴进去。建议将其上移到靠前的位置以避免与系统其他工具冲突。一路点击“确定”保存。验证安装重新打开一个新的CMD或PowerShell窗口重要让环境变量生效输入以下命令gcc --version make --version如果都能正确输出版本信息说明配置成功。现在你可以在任意目录的终端中像在Linux上一样使用make了。2.3 实操心得与避坑指南路径问题的“天坑”这是最大的陷阱。在MSYS2的Bash终端里路径/c/Users/YourName/project指向的是C:\Users\YourName\project。但是如果你在Windows的CMD中使用makeMakefile里写的Unix路径如../src/file.c仍然能被make理解因为GNU Make本身处理的是字符串。然而如果Makefile中调用了shell命令并且命令中混用了Windows路径和Unix路径就可能出错。最佳实践是在Makefile中对于文件路径坚持使用Unix风格的正斜杠/。GCC和大多数工具在Windows上都能正确处理它。避免使用反斜杠\除非你确定只在CMD上下文里运行。选择哪个终端我个人的习惯是复杂的、交互式的构建工作在MSYS2 UCRT64终端中进行因为那里的环境最纯净、最一致。而简单的、已经验证过的make命令可以在配置好PATH的VSCode集成终端或Windows Terminal中直接运行这样更方便。关于mingw-w64与ucrt搜索热词里有msvc和mingw区别。简单说MSVC是微软的亲儿子集成在Visual Studio里MinGW-w64是GCC的Windows移植。选择UCRT版本是为了更好地与Windows 10及以后系统的C运行时库兼容减少潜在的运行时库冲突问题。安装失败或更新问题如果pacman -Syu失败通常是网络或镜像源问题。可以尝试修改/etc/pacman.d/mirrorlist.mingw等文件将服务器地址替换为国内的镜像源如清华、中科大的源能极大提升速度和稳定性。3. 方法二利用Visual Studio自带的NMake——微软的原生方案如果你主要进行Windows原生开发并且已经安装了Visual Studio尤其是较新的版本那么你其实已经拥有了一个微软官方的make替代品——NMake。3.1 NMake是什么它与GNU Make的异同NMake是Microsoft Program Maintenance Utility程序维护工具的简称可以看作是微软版本的make。它同样可以读取Makefile通常命名为Makefile或带有.mk扩展名并根据依赖关系执行构建任务。核心区别语法差异这是最大的障碍。NMake的语法与GNU Make有诸多不兼容之处。例如变量引用GNU Make用$(VAR)或${VAR}NMake用$(VAR)括号是必须的或%VAR%环境变量风格。自动化变量GNU Make的$目标、$第一个依赖在NMake中对应的是$和$**所有依赖或$?更新的依赖但语义不完全相同。函数GNU Make有丰富的内置函数$(wildcard),$(patsubst)NMake的内置功能较弱更多依赖批处理脚本。条件判断语法完全不同。默认规则GNU Make有一整套内置的隐式规则例如知道如何用gcc编译.c文件而NMake的默认规则集是针对微软工具链如cl.exe,rc.exe的。环境依赖NMake通常需要在“Visual Studio开发者命令提示符”或“x64 Native Tools Command Prompt”这样的特殊环境中运行因为该环境已经配置好了clMSVC编译器、link链接器等工具的环境变量。3.2 如何启用并使用NMake你不需要单独安装NMake它随Visual Studio一起提供。第一步启动正确的命令行环境不要在普通CMD里直接运行nmake。从开始菜单找到并启动与你Visual Studio版本和目标架构对应的命令提示符例如“Developer Command Prompt for VS 2022”“x64 Native Tools Command Prompt for VS 2022”这个快捷方式实际上只是运行了一个叫vcvarsall.bat的批处理脚本它设置了INCLUDE、LIB、PATH等一大堆环境变量让cl、link、nmake等工具能被找到和使用。第二步编写或适配Makefile如果你有一个为GNU Make编写的Makefile想用NMake运行通常需要修改。一个最简单的、可能兼容的Makefile例子编译一个C程序# 适用于NMake的简单Makefile CC cl CFLAGS /nologo /W4 /O2 LINKER link LFLAGS /nologo APP hello.exe OBJS hello.obj all: $(APP) $(APP): $(OBJS) $(LINKER) $(LFLAGS) /out:$ $** hello.obj: hello.c $(CC) $(CFLAGS) /c hello.c clean: del $(OBJS) $(APP)注意命令前缀是制表符Tab这点和GNU Make一样。但命令是Windows命令del。第三步运行NMake在配置好的命令提示符中切换到你的项目目录直接运行nmake nmake clean3.3 适用场景与局限性分析什么时候该用NMake项目本身就是为Windows/MSVC设计的很多Windows平台的古老代码库或驱动开发项目其构建脚本就是为NMake写的。深度依赖Windows SDK/驱动开发包WDK这些SDK提供的构建示例通常都是NMake格式的。团队纯Windows/Visual Studio开发为了统一工具链避免引入额外的依赖。为什么大多数开源项目不推荐用它语法锁死你需要为NMake专门维护一套构建脚本无法与主流的、为GNU Make编写的开源项目共享。功能较弱缺少GNU Make那些强大的函数和自动化功能编写复杂的、跨平台的构建逻辑非常吃力。工具链绑定它天然绑定MSVC如果你想在同一个Makefile里支持GCCMinGW和MSVC会变得异常复杂。个人经验除非你的项目强绑定Windows平台和微软工具链否则我建议将NMake视为一个“遗产兼容工具”或“特定场景工具”。对于新项目尤其是希望跨平台的项目坚持使用GNU Make通过MSYS2是更可持续的选择。搜索热词中makefile生成工具cmake的流行也侧面反映了大家更倾向于使用CMake这种生成器来为不同平台包括NMake生成对应的构建文件而不是手写多套。4. 方法三在WSL中无缝使用——终极的Linux环境如果你使用的是Windows 10版本2004及以上或Windows 11那么Windows Subsystem for Linux无疑是体验最完美、最彻底的解决方案。WSL不是一个虚拟机而是一个在Windows内核上实现的、能够直接运行原生Linux二进制文件的兼容层。4.1 WSL的原理与优势为什么它是“终极方案”WSL特别是WSL 2本质上是一个轻量级的虚拟机运行着一个完整的Linux内核。这意味着100%的Linux兼容性你安装的是真正的Ubuntu、Debian、Fedora等发行版。系统里的make、gcc、bash就是Linux原生版本行为与在物理Linux机器上完全一致。完美的文件系统互操作你既可以在Linux环境中直接访问Windows文件/mnt/c/也可以在Windows资源管理器中通过\\wsl$网络路径访问Linux文件。这使得跨环境编辑和构建变得非常方便。极低的性能开销与完整虚拟机相比WSL 2的启动速度和运行时性能损耗极小几乎感觉不到。与Windows工具链无缝集成你可以在VSCode中直接打开WSL中的项目文件夹使用Remote - WSL扩展进行开发享受完整的智能感知、调试等功能而构建命令则在背后的Linux子系统中执行。对于Makefile而言在WSL中运行就是“回家”的感觉所有Unix的路径、命令、环境变量都正常工作零适配成本。4.2 从零开始搭建WSL开发环境第一步启用WSL功能以管理员身份打开PowerShell或Windows终端运行wsl --install这个命令默认会安装WSL 2和Ubuntu发行版。如果你需要其他发行版可以先运行wsl --install -d DistributionName或者去Microsoft Store搜索安装。安装完成后重启电脑。首次启动安装的Linux发行版如Ubuntu会要求你创建Unix用户名和密码。第二步在WSL中安装开发工具打开你的Linux发行版可以从开始菜单直接启动“Ubuntu”这相当于进入了一个Linux终端。 更新软件包列表并安装构建工具链sudo apt update sudo apt upgrade sudo apt install build-essentialbuild-essential是一个元包它会安装gcc,g,make,libc-dev等一整套编译所需的基础工具。第三步在VSCode中连接WSL强烈推荐在Windows上安装VSCode。在VSCode扩展商店搜索并安装“Remote - WSL”扩展。在WSL终端中进入你的项目目录然后输入code .。VSCode会自动启动并在左下角显示“WSL: Ubuntu”的绿色标识。这意味着VSCode的扩展和终端都运行在WSL环境中。在这个环境下打开集成终端Ctrl你看到的就是Linux的Bash可以直接运行make。4.3 跨文件系统工作的注意事项与性能优化虽然WSL提供了完美的兼容性但跨Windows和Linux文件系统工作仍有一些细节需要注意这也是搜索热词中windows 识别btrfs这类问题背后的关切——人们希望获得更好的性能。性能关键将项目文件放在WSL文件系统内这是最重要的经验法则。如果你在VSCode中通过\\wsl$打开Windows盘符如/mnt/c/下的项目然后在该目录下执行make由于所有文件I/O都需要经过一层转换构建速度会慢一个数量级尤其是涉及大量小文件时。正确做法在WSL的家目录如~/projects/下克隆或创建项目。然后通过VSCode的Remote-WSL打开这个Linux路径下的项目。这样所有操作都在原生的Linux文件系统WSL 2默认是ext4上进行速度极快。如何在Windows中方便地访问WSL文件 除了\\wsl$你还可以在Windows资源管理器的地址栏直接输入\\wsl.localhost\Ubuntu\home\yourname\projects来访问。更方便的是在VSCode的WSL环境中右键文件夹选择“Reveal in File Explorer”Windows资源管理器会自动在对应位置打开。处理行尾符CRLF vs LF 如果你在Windows上编辑了文件然后放到WSL中编译可能会遇到行尾符问题。Git可以在提交时自动转换。在VSCode的WSL项目中右下角可以确认行尾序列是“LF”Unix还是“CRLF”Windows建议统一为LF。图形界面应用 WSL 2支持GUI应用需要额外配置并安装Windows端的X Server如VcXsrv。但对于纯开发构建命令行已经足够。像make menuconfig这类基于ncurses的文本界面也能正常显示。5. 三种方法对比与选型决策指南为了让你能一目了然地做出选择我将这三种方法的核心特性、优缺点和适用场景总结如下表特性维度方法一MSYS2/MinGW-w64方法二Visual Studio NMake方法三WSL核心原理在Windows上模拟Unix环境与工具链使用微软原生的构建工具在Windows上运行完整的Linux子系统Make工具GNU Make (原生移植版)Microsoft NMakeGNU Make (Linux原生版)编译器MinGW-w64 GCC/GMicrosoft CL (MSVC)发行版自带GCC/G (Linux原生)环境一致性高专为跨平台设计高纯Windows原生极高与Linux发行版100%一致与Windows集成好工具是原生exePATH配置后随处可用完美深度集成于VS生态极好文件系统互通VSCode深度集成性能好原生exe无虚拟化开销好原生工具极好WSL2接近原生但需注意文件位置语法兼容性完美兼容GNU Make语法需适配与GNU Make语法有显著差异完美兼容GNU Make语法适用项目跨平台C/C项目、需要GCC特性的项目、开源项目构建纯Windows原生项目、驱动开发、遗留项目维护任何Linux优先的项目、服务器端开发、想获得纯粹Linux体验入门复杂度中需安装配置MSYS2和PATH低VS用户开箱即用中需启用WSL并安装发行版主要缺点路径问题需小心处理语法不通用生态局限于Windows需要一定的Linux基础知识如何选择我的个人建议是首选WSL方法三如果你的开发不重度依赖特定的Windows GUI库或SDK并且你追求最原汁原味的Linux开发体验或者你的项目本身就是为Linux部署的那么WSL是目前的最佳选择。它与VSCode的集成堪称完美解决了“环境差异”这个根本痛点。次选MSYS2/MinGW方法一如果你需要编译生成原生Windows可执行文件但又离不开GNU Make和GCC工具链的丰富生态和跨平台便利性或者你需要与现有的、为GNU Make编写的跨平台构建系统对接那么MSYS2/MinGW-w64是你的不二之选。它是在Windows上获得“类Unix”开发体验的标杆。特定场景用NMake方法二如果你的工作完全围绕微软生态展开例如使用DirectX、Win32 API、.NET Native或进行Windows驱动开发并且团队统一使用Visual Studio那么学习和使用NMake是合理的选择。对于新项目更现代的方案是使用CMake生成VS项目文件.sln而非直接手写NMakefile。最后无论选择哪种方法一个重要的趋势是使用CMake、Meson这样的高级构建系统生成器。它们可以为你自动生成对应平台的构建文件在Windows上可以是MinGW Makefiles、NMake Makefiles或Visual Studio项目。这样你只需要维护一份高级别的构建描述CMakeLists.txt而无需为make、nmake或msbuild分别编写和维护构建脚本这极大地提升了项目的可维护性和跨平台能力。这也是为什么makefile生成工具cmake会成为高频搜索词的原因——大家正在从手写Makefile转向更现代、更高效的构建管理方式。

相关新闻

解决Ubuntu apt-get update报错:软件源配置与网络排查指南

解决Ubuntu apt-get update报错:软件源配置与网络排查指南

1. 问题现场:一个典型的“源”错误剖析今天想和大家聊聊一个在Linux,特别是Ubuntu及其衍生系统(比如树莓派的Raspbian、各种Docker镜像)里,几乎每个用户都会踩到的“入门级”大坑:sudo apt-get update报错。…

2026/10/15 17:51:22 阅读更多 →
免费高质量图片素材网站全解析:从版权风险到实战搜索技巧

免费高质量图片素材网站全解析:从版权风险到实战搜索技巧

1. 从“免费”到“高质量”:图片素材网站的真相与选择作为一个常年和图片打交道的创作者,无论是写博客、做PPT、设计海报还是运营社交媒体,我太清楚找一张“免费”且“高质量”图片有多难了。新手朋友常常会兴奋地分享一个“免费图片网站大全…

2026/10/14 9:47:58 阅读更多 →
AIGC知识库问答系统在技术面试中的优化实践

AIGC知识库问答系统在技术面试中的优化实践

1. 面试场景中的技术博弈本质去年帮朋友公司面试后端开发时遇到一个典型案例:候选人简历写着"精通MyBatis",却在回答动态SQL实现方式时支支吾吾。这种场景在技术面试中屡见不鲜,表面看是候选人准备不足,深层反映的却是知…

2026/10/4 1:57:50 阅读更多 →

最新新闻

MiniCPM-V 4.7端侧推理实测:35B MoE模型在iPhone 17 Pro Max上的真实体验

MiniCPM-V 4.7端侧推理实测:35B MoE模型在iPhone 17 Pro Max上的真实体验

人工智能大模型多模态基础模型本地部署 【免费下载链接】MiniCPM-V-4.7-35B-A3B MiniCPM-V 4.7 是 MiniCPM-V 系列的最新模型,提供 35B-A3B 变体,其中 35B-A3B 是 MiniCPM-V 系列中的首个 MoE(混合专家)模型。它在家族现有的单图、…

2026/10/15 17:51:06 阅读更多 →
多项式环中的公因式、因式分解与重因式解析

多项式环中的公因式、因式分解与重因式解析

1. 这不是“背公式”的章节,而是代数思维的分水岭如果你翻过《高等代数》教材第7章,看到“公因式”“因式分解”“重因式”这几个词,第一反应可能是:这不就是中学多项式除法的升级版?再套个“环”的帽子,加…

2026/10/15 17:51:06 阅读更多 →
ViTPose 仓库实战:HRNet + DarkPose 在 COCO-WholeBody 全身关键点估计中的配置与训练指南

ViTPose 仓库实战:HRNet + DarkPose 在 COCO-WholeBody 全身关键点估计中的配置与训练指南

人工智能计算机视觉深度学习 【免费下载链接】ViTPose The official repo for [NeurIPS22] "ViTPose: Simple Vision Transformer Baselines for Human Pose Estimation" and [TPAMI23] "ViTPose: Vision Transformer for Generic Body Pose Estimation" 项…

2026/10/15 17:51:06 阅读更多 →
GPCHC二进制帧解析与ROS话题发布:从串口到NavSatFix驱动实战

GPCHC二进制帧解析与ROS话题发布:从串口到NavSatFix驱动实战

简介:针对huace GPCHC解析与ROS集成这一具体场景,资源面向从事机器人定位、无人系统导航开发的工程师与研究者,重点解决GPS原始数据如何在机器人操作系统中完成采集、解析、转换与发布的问题。包体为一个约20.56MB的zip压缩包,内容…

2026/10/15 17:51:06 阅读更多 →
Spring Boot名士会所会员管理系统:从开发实战到答辩通关全指南

Spring Boot名士会所会员管理系统:从开发实战到答辩通关全指南

1. 这到底是个什么项目:先看清楚它的真实定位 第一次看到“springboot名士会所会员管理系统”这个标题,我的第一反应是:这不是一个简单的CRUD堆积品,而是一套带有真实商业场景的会员运营后台。所谓的“名士会所”,其实…

2026/10/15 17:51:06 阅读更多 →
Cesium自建地形数据实战:从DEM到量化网格瓦片

Cesium自建地形数据实战:从DEM到量化网格瓦片

搞Cesium开发,最绕不开的一件事就是地形数据。默认的在线地形服务虽然打开就能用,可真到了项目落地,总有让你必须自己生成地形数据的理由——精度不够、网络受限、数据不能离开本机。这篇博客把完整跑过一次的Cesium地形数据生成过程记录下来…

2026/10/15 17:50:05 阅读更多 →

日新闻

Docker Compose 容器化部署 ChirpStack LoRaWAN 网络服务器实战

Docker Compose 容器化部署 ChirpStack LoRaWAN 网络服务器实战

1. 为什么选择容器化方式部署 LoRa 网络服务LoRa 物联网项目落地时,网络服务器是整个链路的核心枢纽。它负责接收网关上报的数据包、完成去重与解密、再把有效载荷分发给上层应用。早期大家习惯把网络服务器直接装在物理机上,依赖一堆系统库和特定版本的…

2026/10/15 0:00:46 阅读更多 →
共享LLM服务下的跨模型自动扩缩容:Kubernetes实战与避坑指南

共享LLM服务下的跨模型自动扩缩容:Kubernetes实战与避坑指南

1. 共享推理服务里,扩缩容到底难在哪做过大模型推理服务部署的人,大概都经历过这样的场景:一个团队共用一套推理集群,A 业务跑的是 7B 的小模型,B 业务跑的是 72B 的大模型,C 业务白天流量高、晚上几乎归零…

2026/10/15 0:00:46 阅读更多 →
Systemd 启动阶段根文件系统只读之谜:fstab 与 remount-fs 服务深度解析

Systemd 启动阶段根文件系统只读之谜:fstab 与 remount-fs 服务深度解析

1. 引子:一次内核恐慌引发的追查先从一个真实场景说起。某次我给一台老旧的嵌入式设备折腾系统裁减,为了把启动时间压进两秒以内,我手贱地把一串自认为“没用”的 systemd 服务给 disable 了,其中就包括systemd-remount-fs.servic…

2026/10/15 0:00:46 阅读更多 →

周新闻

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

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

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

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

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

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

2026/10/14 16:30:29 阅读更多 →
影刀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/14 22:45:47 阅读更多 →
黑夜航拍船只数据集训练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 阅读更多 →