尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

Windows下VSCode与MinGW-w64搭建高效C++开发环境全攻略

Windows下VSCode与MinGW-w64搭建高效C++开发环境全攻略
📅 发布时间:2026/7/28 23:23:32

1. 项目概述:为什么选择VSCode + MinGW-w64搭建C++环境?

如果你刚开始接触C++编程,或者厌倦了那些动辄几个G、启动缓慢的集成开发环境(IDE),那么Visual Studio Code(简称VSCode)搭配MinGW-w64这套组合,绝对值得你花时间配置。这不仅仅是“安装一个编译器”那么简单,它关乎你未来整个C++学习与开发体验的流畅度和可控性。

我见过太多新手卡在环境配置这一步,要么是Visual Studio安装包太大下载失败,要么是配置过程繁琐让人望而却步。VSCode的优势在于它的轻量、快速和高度可定制。它本身只是一个强大的编辑器,但通过安装扩展和配置外部工具链(比如MinGW-w64),它能瞬间变身为一台高效的C++开发机器。MinGW-w64则是Windows平台上最受欢迎的GNU编译器集合(GCC)移植版,它让你能在Windows上使用标准的GCC来编译C/C++代码,生成原生Windows程序。这套组合给了你一个接近Linux/macOS开发环境的体验,同时又保留了Windows的便利性,对于学习标准C++、理解编译链接过程,甚至后续接触跨平台开发,都大有裨益。

简单来说,这个项目就是教你如何在Windows系统上,从零开始,搭建一个干净、高效、可深度定制的C++本地开发环境。整个过程涉及三个核心环节:安装VSCode编辑器、获取并安装MinGW-w64编译器、最后在VSCode中进行配置使其能识别编译器并完成编译调试。接下来,我会带你一步步走完这个过程,并分享我这些年积累下来的配置心得和避坑指南。

2. 核心工具详解与获取:VSCode与MinGW-w64

在动手之前,我们先花点时间搞清楚我们要用的两个核心工具到底是什么,以及如何正确地获取它们。理解这一点,能避免后面很多莫名其妙的错误。

2.1 Visual Studio Code:不只是编辑器

VSCode是微软出品的一款免费、开源、跨平台的代码编辑器。很多人因为它启动快、界面简洁而喜欢它,但它的强大远不止于此。其核心能力来自于海量的扩展市场,通过安装不同的扩展,它可以支持几乎任何编程语言和开发框架。

对于C++开发,我们将主要依赖微软官方提供的“C/C++”扩展。这个扩展提供了代码智能感知(IntelliSense)、语法高亮、代码导航、调试支持等核心功能。但请注意,这个扩展本身不包含编译器!它只是一个“前台”,负责编辑和调试的交互,真正的编译工作,需要交给像MinGW-w64这样的“后台”编译器来完成。这就是为什么我们的配置分为两步:装好“前台”VSCode和“后台”编译器,再把它们连接起来。

获取与安装VSCode:

  1. 官网下载:唯一推荐渠道是访问Visual Studio Code官网。下载时选择“System Installer”版本,通常是一个.exe安装包。
  2. 安装选项:安装过程中,有几个关键选项建议勾选:
    • “添加到PATH”:这会将VSCode的命令行工具添加到系统环境变量,以后你就可以在任意目录的终端(如CMD或PowerShell)里输入code .来快速用VSCode打开当前文件夹了,非常方便。
    • “注册为受支持的文件类型的编辑器”:关联文件类型,双击代码文件默认用VSCode打开。
    • 其他选项如创建桌面快捷方式等,根据个人习惯选择即可。
  3. 安装后初次启动:安装完成后启动VSCode,界面通常是英文的。你可以通过快捷键Ctrl+Shift+X打开扩展商店,搜索“Chinese (Simplified) Language Pack”并安装,重启后即可切换为中文界面。

2.2 MinGW-w64:Windows上的GCC编译器

MinGW-w64是MinGW项目的现代分支,它提供了在Windows上生成32位和64位原生程序的能力。我们选择它,而不是老版的MinGW或Visual Studio自带的MSVC编译器,主要原因有几点:

  • 对C++新标准支持好:MinGW-w64的GCC版本更新更及时,能更好地支持C++11/14/17/20甚至更新的语言特性。
  • 更接近标准环境:它提供了一套类Unix的工具链(g++, gdb, make等),如果你以后需要转向Linux开发,学习成本会更低。
  • 轻量且自由:相比完整的Visual Studio,它只是一个编译器工具集,不捆绑庞大的IDE。

如何正确下载MinGW-w64?这是第一个容易踩坑的地方。

绝对不要从名字里带“MinGW”的杂乱网站下载。最可靠、最推荐的来源是 SourceForge 上的官方项目页面。进入页面后,你会看到很多文件夹,对于新手,我建议按以下路径选择:mingw-w64->x86_64-posix-seh。

让我解释一下这个路径的含义:

  • x86_64:表示生成64位的应用程序。现在主流系统都是64位,选这个。
  • posix:表示线程模型使用POSIX API。这与后续使用C++标准库中的<thread>等多线程特性兼容性更好。另一个选项“win32”是Windows原生线程模型,对于纯Windows开发可能有些微性能优势,但为了更好的可移植性和标准符合性,强烈建议选择posix。
  • seh:表示异常处理模型为“结构化异常处理”(SEH)。这是Windows上的一种现代异常处理机制,性能较好。另一个选项“sjlj”(Set Jump Long Jump)是较老的模型,兼容性更广但效率稍低。对于64位程序,选择seh。

所以,总结下来,对于大多数现代Windows C++开发学习,下载x86_64-posix-seh版本结尾的压缩包(通常是.7z或.zip格式)是最佳选择。下载后,你得到一个压缩包,不要双击安装!它本身就是一个绿色版,需要解压到某个目录。

注意:解压路径不要包含中文和空格。例如,D:\DevTools\mingw64是一个好选择,而C:\Program Files\mingw-w64或D:\开发工具\mingw则可能在未来引发各种难以排查的路径问题。

3. 系统环境变量配置:让系统找到你的编译器

解压MinGW-w64之后,如果你直接在命令行输入g++ --version,系统会告诉你“不是内部或外部命令”。这是因为系统不知道去哪里找这个g++.exe程序。我们需要通过配置系统环境变量PATH来告诉系统。

为什么必须配置环境变量?PATH环境变量是一个目录列表,当你在命令行输入一个命令(如g++)时,系统会按照PATH中列出的目录顺序,依次查找是否存在这个可执行文件。我们将MinGW-w64的bin目录加入PATH,就等于为系统添加了一个全局的“命令搜索路径”。

详细配置步骤:

  1. 找到你的MinGW-w64解压目录,进入其下的bin文件夹。例如,D:\DevTools\mingw64\bin。复制这个路径。
  2. 在Windows搜索框输入“环境变量”,选择“编辑系统环境变量”。
  3. 在弹出的“系统属性”窗口中,点击右下角的“环境变量(N)...”。
  4. 在“环境变量”窗口的下半部分“系统变量(S)”区域,找到名为Path的变量,选中并点击“编辑”。
  5. 在“编辑环境变量”窗口中,点击“新建”,然后将刚才复制的bin目录路径粘贴进去。
  6. 重要:为了确保新配置立即生效,并且优先级正确,建议将新建的条目通过右侧的“上移”按钮,移动到列表的顶部或靠前位置。因为系统是按顺序查找的,如果旧有路径中存在其他版本的g++,可能会产生冲突。
  7. 点击“确定”保存所有打开的窗口。

验证配置是否成功:

  1. 完全关闭你当前打开的所有命令行窗口(CMD或PowerShell)。
  2. 重新打开一个新的命令行窗口(可以按Win+R,输入cmd或powershell)。
  3. 输入命令g++ --version并回车。
  4. 如果配置成功,你将看到类似以下的输出,显示了GCC的版本信息:
    g++ (x86_64-posix-seh-rev0, Built by MinGW-W64 project) 8.1.0 Copyright (C) 2018 Free Software Foundation, Inc. ...
    同时,也可以输入gdb --version验证调试器是否可用。

实操心得:很多人在配置后验证失败,最常见的原因是命令行窗口没有重启。环境变量的更改只对新启动的进程生效。另一个常见错误是路径复制错误,多了一个空格或少了一个反斜杠。务必仔细检查。

4. VSCode工作区配置与核心扩展安装

环境变量配好,意味着编译器已经就位。现在我们要回到VSCode,把它打造成我们的C++开发前台。

4.1 建立项目工作区

VSCode通常以文件夹为单位进行项目管理。一个好的习惯是为每个C++项目创建独立的文件夹。

  1. 在合适的位置(如D:\CppProjects)新建一个文件夹,命名为HelloWorld(或任何你喜欢的名字)。
  2. 用VSCode打开这个文件夹。你可以右键文件夹选择“通过Code打开”,或者在VSCode中选择“文件” -> “打开文件夹”。

4.2 安装必备扩展

在VSCode左侧活动栏点击扩展图标(或按Ctrl+Shift+X),搜索并安装以下扩展:

  1. C/C++ (ms-vscode.cpptools):这是微软官方的C++扩展,提供智能感知、调试、浏览等功能。这是核心中的核心,必须安装。
  2. Code Runner (formulahendry.code-runner):这是一个非常方便的扩展,允许你一键运行多种语言的代码片段。安装后,右上角会出现一个三角形的“运行”按钮。对于快速测试单个.cpp文件极其方便。

安装完扩展后,建议重启一下VSCode以确保扩展完全加载。

4.3 编写你的第一个C++程序

在VSCode左侧的资源管理器视图中,右键点击你的项目文件夹HelloWorld,选择“新建文件”,命名为hello.cpp。 在文件中输入以下经典的代码:

#include <iostream> using namespace std; int main() { cout << "Hello, World from VSCode and MinGW-w64!" << endl; return 0; }

保存文件(Ctrl+S)。

4.4 使用Code Runner快速测试

现在,点击右上角的三角形“运行”按钮(或者右键编辑器选择“Run Code”),Code Runner会尝试编译并运行你的程序。 如果一切配置正确,你会在VSCode底部弹出的“输出”面板中看到编译命令的执行和程序的输出结果:“Hello, World from VSCode and MinGW-w64!”。

Code Runner做了什么?它背后执行了一个简单的命令,类似于在终端里输入:

cd /d “D:\CppProjects\HelloWorld” && g++ hello.cpp -o hello && “D:\CppProjects\HelloWorld\hello”

即:切换到文件所在目录,用g++编译hello.cpp生成hello.exe,然后运行它。Code Runner帮我们隐藏了这些细节,对于快速验证非常有用。

注意事项:Code Runner默认在输出面板显示结果,且程序运行完毕后终端会立即关闭。对于需要交互输入的程序(比如用cin),这会有问题。你可以在Code Runner的设置中,将“Run In Terminal”选项勾选上,这样程序就会在VSCode的内置终端中运行,可以正常进行输入交互了。

5. 深度配置:tasks.json与launch.json

虽然Code Runner很方便,但它只适合运行单个文件。当我们项目结构变复杂,有多个源文件、需要特定的编译参数(如开启C++17标准、优化级别、定义宏等)或者需要进行调试时,就必须依赖VSCode更底层的构建与调试配置。这就需要配置tasks.json和launch.json文件。这两个文件位于项目文件夹下的.vscode子目录中,用于定义本项目特定的构建任务和调试配置。

5.1 配置构建任务 (tasks.json)

构建任务告诉VSCode如何编译你的代码。

  1. 在VSCode中打开hello.cpp。
  2. 按下Ctrl+Shift+P打开命令面板,输入 “tasks: configure task”,选择“C/C++: g++.exe build active file”。这个命令会为当前活动文件创建一个默认的构建任务模板。
  3. VSCode会在.vscode文件夹下生成一个tasks.json文件并打开它。

这个文件内容大致如下,我们需要理解并修改它:

{ "version": "2.0.0", "tasks": [ { "type": "cppbuild", "label": "C/C++: g++.exe build active file", "command": "g++", "args": [ "-fdiagnostics-color=always", "-g", "${file}", "-o", "${fileDirname}\\${fileBasenameNoExtension}.exe" ], "options": { "cwd": "${fileDirname}" }, "problemMatcher": [ "$gcc" ], "group": { "kind": "build", "isDefault": true }, "detail": "Task generated by Debugger." } ] }
  • label: 任务显示的名称。
  • command: 要执行的命令,这里就是g++。因为我们已经把MinGW-w64的bin目录加入了PATH,所以VSCode能找到它。
  • args: 传递给g++的参数列表,这是关键部分。
    • -fdiagnostics-color=always: 让错误和警告信息带颜色,更易读。
    • -g: 生成调试信息,这是后续使用调试器的前提。
    • ${file}: 当前活动文件的完整路径(如D:\...\hello.cpp)。
    • -o: 指定输出文件名。
    • ${fileDirname}\\${fileBasenameNoExtension}.exe: 输出到文件所在目录,并以去掉扩展名的文件名作为.exe文件名。
  • group:"isDefault": true意味着这个任务可以被设置为默认构建任务。

如何自定义构建参数?假设你想使用C++17标准,并显示所有警告信息,可以将args修改为:

"args": [ "-fdiagnostics-color=always", "-g", "${file}", "-o", "${fileDirname}\\${fileBasenameNoExtension}.exe", "-std=c++17", "-Wall", "-Wextra" ],

-std=c++17指定语言标准,-Wall和-Wextra用于开启更多警告,帮助你写出更规范的代码。

如何使用构建任务?配置好后,你可以按Ctrl+Shift+B来执行默认构建任务。VSCode会在底部终端执行g++命令,如果编译成功,就会在源文件同级目录生成一个.exe文件。

5.2 配置调试环境 (launch.json)

调试是开发中不可或缺的一环。launch.json文件告诉VSCode的调试器如何启动你的程序进行调试。

  1. 切换到VSCode的“运行和调试”视图(左侧活动栏的三角+虫子图标,或按Ctrl+Shift+D)。
  2. 点击“创建一个 launch.json 文件”,选择“C++ (GDB/LLDB)”。
  3. 在接下来的编译器选择中,选择“g++.exe - 生成和调试活动文件”。

VSCode会自动生成一个launch.json文件。我们需要关注其中几个关键配置:

{ "version": "0.2.0", "configurations": [ { "name": "g++.exe - 生成和调试活动文件", "type": "cppdbg", "request": "launch", "program": "${fileDirname}\\${fileBasenameNoExtension}.exe", "args": [], "stopAtEntry": false, "cwd": "${fileDirname}", "environment": [], "externalConsole": false, "MIMode": "gdb", "miDebuggerPath": "gdb", "setupCommands": [ { "description": "为 gdb 启用整齐打印", "text": "-enable-pretty-printing", "ignoreFailures": true } ], "preLaunchTask": "C/C++: g++.exe build active file", "logging": { "moduleLoad": false, "trace": false } } ] }
  • name: 调试配置的名称,会在调试下拉菜单中显示。
  • program: 要调试的程序路径。这里指向了由构建任务生成的.exe文件。
  • MIMode: 调试器模式,这里是gdb,对应MinGW-w64自带的GNU调试器。
  • miDebuggerPath: GDB调试器的路径。因为gdb也在MinGW-w64的bin目录下,且已加入PATH,所以这里直接写"gdb"即可。如果遇到调试器找不到的问题,可以在这里填写绝对路径,如"D:\\DevTools\\mingw64\\bin\\gdb.exe"。
  • preLaunchTask:这是连接构建与调试的关键!它的值"C/C++: g++.exe build active file"必须与tasks.json中某个任务的label完全一致。这意味着在启动调试之前,VSCode会自动先执行指定的构建任务来编译代码。这确保了每次调试的都是最新编译的程序。

开始调试:在hello.cpp中,点击编辑器行号左侧的区域设置一个断点(会出现红点)。然后按F5或点击调试视图的绿色三角按钮。VSCode会先执行preLaunchTask(即编译),然后启动调试器,程序会在断点处暂停。此时你可以使用调试控制台(查看变量、单步执行等)来排查代码问题。

6. 高级配置与个性化技巧

基础环境搭建完成后,下面这些技巧能让你的开发体验更上一层楼。

6.1 配置智能感知 (IntelliSense)

有时你会发现VSCode的代码补全、跳转定义功能不灵了,或者提示“找不到头文件”。这通常是智能感知引擎的包含路径没有正确设置。

  1. 按Ctrl+Shift+P,输入 “C/C++: Edit Configurations (UI)”,打开C/C++配置UI界面。
  2. 在“编译器路径”一项,点击“浏览”,导航到你的MinGW-w64bin目录下的g++.exe(例如D:\DevTools\mingw64\bin\g++.exe)。这能帮助IntelliSense知道使用哪个编译器的标准库和内置宏定义。
  3. 在“包含路径”一项,通常不需要手动添加标准库路径,因为编译器路径设置好后,扩展会自动探测。但如果你使用了第三方库(如OpenCV),就需要在这里添加第三方库的头文件路径,例如D:/OpenCV/build/include。
  4. 在“C++标准”一项,选择你项目使用的标准,如c++17。

这些设置会被保存到项目.vscode文件夹下的c_cpp_properties.json文件中。你也可以直接编辑这个文件进行更精细的控制。

6.2 管理多文件项目

当你的项目有main.cpp,utils.cpp,utils.h等多个文件时,简单的g++ ${file}就不够了。你需要编译所有.cpp文件。 修改tasks.json,将args中的"${file}"替换为"*.cpp",并可能需要调整输出路径:

"args": [ "-fdiagnostics-color=always", "-g", "*.cpp", // 编译当前目录下所有.cpp文件 "-o", "${workspaceFolder}\\bin\\myapp.exe", // 输出到工作区下的bin文件夹 "-std=c++17", "-Wall", "-Wextra" ],

同时,记得在launch.json中把program路径也对应修改为"${workspaceFolder}\\bin\\myapp.exe"。

更好的方式是使用Makefile或CMake来管理复杂项目。VSCode对两者都有很好的扩展支持(如CMake Tools)。当你项目规模增长时,这是必然的选择。

6.3 终端与字体优化

  • 默认终端:VSCode内置终端默认可能是PowerShell。如果你更喜欢传统的CMD,可以按Ctrl+Shift+P,输入 “Terminal: Select Default Profile”,然后选择“Command Prompt”。
  • 字体:编程使用等宽字体体验更佳。在VSCode设置中搜索“Font Family”,可以设置喜欢的字体,如'Cascadia Code', Consolas, 'Courier New', monospace。Cascadia Code是微软推出的一款不错的编程字体。

7. 常见问题排查与解决方案实录

即使按照步骤操作,也可能会遇到问题。这里记录了一些典型问题及其解决方法。

7.1 “g++不是内部或外部命令”

  • 现象:在CMD或VSCode终端中输入g++ --version报错。
  • 排查:
    1. 检查路径:右键“此电脑”->“属性”->“高级系统设置”->“环境变量”,检查系统变量Path中MinGW-w64的bin目录路径是否正确无误,无中文字符和空格。
    2. 重启终端:环境变量修改后,必须关闭所有旧的命令行窗口和VSCode,重新打开新的。
    3. 绝对路径测试:在终端中,直接使用完整路径测试,如"D:\DevTools\mingw64\bin\g++.exe" --version。如果这样能成功,说明编译器本身没问题,只是PATH配置有误或未生效。
    4. 用户变量与系统变量:确保你修改的是“系统变量”下的Path,而不是“用户变量”。系统变量对所有用户生效。

7.2 编译成功但运行时提示“找不到libgcc_s_seh-1.dll”等动态库

  • 现象:双击生成的.exe文件或在某些终端中运行,提示缺少DLL。
  • 原因:程序动态链接了MinGW-w64的运行时库,但这些DLL不在系统的搜索路径中。
  • 解决:
    • 方案A(推荐):在编译时添加-static参数进行静态链接。修改tasks.json中的args,加入"-static"。这样生成的.exe文件会包含所有依赖,体积变大但可以独立运行。
    "args": [ ..., "-static", ... ]
    • 方案B:将MinGW-w64的bin目录(如D:\DevTools\mingw64\bin)添加到系统的Path环境变量(我们之前已经做了这一步)。这样在任何地方运行程序,系统都能找到所需的DLL。

7.3 VSCode调试器无法启动或断点不生效

  • 现象:按F5调试,程序直接运行完毕,没有在断点处停止。
  • 排查:
    1. 检查preLaunchTask:确保launch.json中的preLaunchTask名称与tasks.json中任务的label完全一致,包括大小写和空格。
    2. 检查编译参数:确保tasks.json的编译参数中包含了-g,这是生成调试信息的必需选项。
    3. 检查program路径:确保launch.json中的program路径指向了正确的、最新编译的.exe文件。如果tasks.json修改了输出文件位置,这里也要同步修改。
    4. 检查调试器路径:如果报错提示找不到调试器,尝试将launch.json中的"miDebuggerPath": "gdb"改为绝对路径,如"miDebuggerPath": "D:\\DevTools\\mingw64\\bin\\gdb.exe"。
    5. 检查杀毒软件/防火墙:有时杀毒软件会拦截调试器注入进程的行为。可以尝试临时关闭杀毒软件或添加例外规则。

7.4 IntelliSense报红色波浪线,但编译正常

  • 现象:代码编辑器中标准库头文件(如<iostream>)下有红色波浪线,提示“无法打开源文件”,但按Ctrl+Shift+B编译却能成功。
  • 原因:C/C++扩展的智能感知引擎没有正确配置编译器的包含路径。
  • 解决:
    1. 按Ctrl+Shift+P,运行“C/C++: Edit Configurations (UI)”。
    2. 正确设置“编译器路径”,指向你的g++.exe。
    3. 点击“高级设置”,在“编译器参数”中,可以尝试添加-std=c++17等参数。
    4. 保存后,按Ctrl+Shift+P,运行“C/C++: 重新扫描项目”。通常问题即可解决。

7.5 关于网络热词中提到的错误

在提供的网络热词中,有一条错误信息:there was an error while deleting a directory: ... please verify there are no visual studio code processes still executing.。这个错误与C++环境配置无关,它通常发生在尝试删除VSCode安装目录或相关文件时,因为VSCode进程本身或其子进程(如扩展主机)还在运行,导致文件被占用无法删除。解决方法就是确保完全退出所有VSCode窗口,或者在任务管理器中结束所有Code.exe进程。

配置C++开发环境,尤其是第一次,确实会遇到各种小问题。我的经验是:保持耐心,仔细阅读错误信息,大部分问题都能在网上找到解决方案。核心思路就是确保三条通路畅通:系统能找到编译器(PATH)、VSCode能调用编译器(tasks.json)、调试器能找到程序和调试信息(launch.json)。只要这三条线理清了,环境就基本稳固了。剩下的就是根据你的项目需求,去调整编译参数、管理多文件、引入第三方库,那将是另一个层次的学习和实践了。

相关新闻

  • libcom高级教程:如何利用反射生成模型为合成图像添加真实水面倒影
  • C/C++中高效实现余弦函数:从泰勒展开到SIMD优化
  • Jellium Desktop翻译贡献指南:帮助改进多语言支持

最新新闻

  • 2026年批量采购小龙虾油炸生产线公司哪家好全攻略 - 热点品牌推荐
  • 程序员副业指南:技术变现路径与实操技巧
  • 2026年山东白麻路沿石批发商优质实力商家 - 热点品牌推荐
  • 生化危机9:安魂曲2026最新下载附带教学
  • 回合制游戏充值通道的隐秘拐点
  • Florence-2 概括版

日新闻

  • 金融舆情监测系统:多语言情感分析与实时可视化技术解析
  • QT C++调用Python异常处理:PyBind11实战与跨语言编程指南
  • A-47双麦回音消除模块:主次麦空间分布与差分连接对ENC性能的影响

周新闻

  • 大连理工大学与东京大学联手打造的“主动型AI助手“
  • 170.2026年国家级科研瓶颈:超精密单点金刚石切削(SPDT)光学表面生成
  • SongBloom:革命性歌曲生成框架深度解析——如何通过交织自回归与扩散模型创作完整音乐

月新闻

  • 2026年6月公司网站搭建最新热门渠道测评:四大低成本/零代码平台对比+避坑
  • 【Linux】Linux arm 编译QT程序,出现expected “}“报错
  • 【MATLAB例程】四基站二维AOA定位与距离辅助增强对比仿真。基于角度观测和测距修正的固定目标平面定位精度分析

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号