资讯动态

CLion + WSL2:Windows下搭建高效Linux开发环境指南

发布时间:2026/9/17 15:20:27 来源:尧图企业网站定制
项目标题使用CLion在Window端进行linux开发这两年做后端和嵌入式相关的工作遇到一个特别常见的需求公司服务器跑的是Linux代码最终也要在Linux上编译部署但日常开发电脑装的是Windows。以前我的习惯是开虚拟机或者干脆在Linux服务器上用vim硬敲时间久了总觉得别扭——编辑器不够顺手代码提示跟不上调试全靠printf。后来换成了“CLion WSL2”这套组合体验完全不一样相当于在Windows桌面里原地拥有一个Linux编译调试环境代码提示、断点调试、CMake管理一个不落。这篇文章就把我在这条路上踩过的坑和最终跑通的流程完整写出来给同样在Windows上做Linux开发的同学一个可以直接照抄的版本。我会从方案选型、环境搭建、实际编译调试再到JNI、Qt这类特殊场景的配置最后整理一份高频问题的排查手册。内容不绕弯子尽量把“为什么这么做”也讲清楚这样即使你以后换项目、换机器理解透了也能自己搞定。1. 为什么我推荐在Windows上用CLion连WSL而不是开虚拟机1.1 三条开发路径的真实对比在Windows上做Linux开发绕不开三个方案虚拟机、SSH远程连接、WSL。很多人一上来就选虚拟机因为你打开VirtualBox或者VMware装一个Ubuntu感觉上最“正统”。但用过的都知道虚拟机有几个非常难受的点一是占资源开一个图形界面的Ubuntu内存基本要吃掉2到4GB如果电脑配置一般开发体验会明显卡顿二是文件交互麻烦要在Windows和虚拟机之间共享代码你还得配置共享文件夹路径转来转去经常出现权限问题三是一旦虚拟机里的系统挂了修复成本比直接重装还高。SSH远程开发是另一种思路。你有一台Linux服务器代码放在服务器上本地用CLion的Remote Development功能连过去本地编辑、远程编译和调试。这套方案在团队协作场景里其实很实用尤其是每个人都连同一台高性能开发机的时候。但它有一个明显的依赖条件你必须有一台随时可用的远程Linux机器而且网络要稳定。如果你的开发环境是笔记本出差场景WiFi一断你连代码都看不了这种模式就不太现实了。WSL2全称是Windows Subsystem for Linux可以理解成微软自己做的“轻量级虚拟机”。它不会给你一个完整的桌面但会给你一个原生跑在Windows里的Linux内核。与虚拟机的区别在于WSL2的资源管理是动态的你不用先分配内存给某个固定系统Windows和Linux之间的文件也可以互访。更关键的是CLion对WSL2有原生支持Toolchain直接选WSL就可以几乎所有在Linux上能用的编译调试工具链都能继续用。下面这张表是我自己用下来以后做的总结对比维度虚拟机远程SSH开发WSL2启动速度慢需要完整开机依赖网络秒级启动资源占用高固定分配低都在服务端动态分配按需使用文件交互共享文件夹配置麻烦服务器文件需同步天然互通路径映射调试体验完整但界面卡完整依赖网络完整本地内核开发环境一致性需要手动维护成员共用一个环境每人独立可复制离线可用可以不行可以从这个对比能看出WSL2在开发机本地做Linux开发确实是最平衡的选择。它不需要额外准备一台远程机器启动快资源占用灵活而且和CLion配合得很顺。1.2 CLion这套组合到底强在哪CLion是JetBrains全家桶里的C/C IDE最早主要面向桌面C开发但它的CMake支持和GDB调试能力其实非常强。当你使用WSL2作为Toolchain时CLion会自动识别WSL里的编译器、CMake、GDB然后所有的编译操作都会在Linux环境内执行生成的是Linux可执行文件调试器连接的是Linux进程。这就是它和其他编辑器类的工具拉开差距的地方你依然在Windows的图形界面里写代码但实际进程环境已经是Linux了。有一次我需要排查一个只有Linux下才会出现的段错误问题按照以前的办法得把代码压到服务器上编译再用gdb慢慢调。但当时我直接在CLion里把Toolchain切成WSL本地就能复现崩溃现场断点一打变量值、调用栈看得清清楚楚最后定位到一个结构体未初始化的问题。整个过程没离开Windows桌面效率非常高。这还没算CLion本身自带的代码分析、重构、智能提示尤其是对CMake的解析能力。你在CMakeLists.txt里新加了一个源文件CLion会自动更新项目结构不需要手动刷新。这种配合是纯粹用命令行工具时很难得到的体验。1.3 先说清楚这套方案适合谁如果你满足下面任一条件CLion WSL2这套方案值得直接上手你在做Linux服务端程序开发但日常用的是Windows笔记本。你在学习Linux系统编程或网络编程希望有一个快速试错的环境。你维护的项目需要在Linux下编译但你不希望为每个项目单独开一台虚拟机。你在做跨平台开发需要在Windows和Linux两套工具链之间来回切换。反过来如果你主要写GUI软件而且重度依赖Windows生态或者你需要完整的Linux桌面环境做特定测试比如验证桌面应用交互那WSL2可能不适合你虚拟机仍然是更稳的选择。2. 动手前先把环境铺好WSL2与CLion的准备2.1 WSL2的安装与常见卡点WSL的安装本身不复杂但很多人会在版本问题上卡住。现在的Windows 10 2004及以上版本以及Windows 11都支持直接用命令安装。打开PowerShell管理员模式运行wsl --install这个命令会自动安装WSL2所需的组件并默认安装Ubuntu发行版。安装完成后重启电脑第一次启动Ubuntu时会让你设置用户名和密码。如果你用的是比较老的Windows 10版本可能还需要手动开启虚拟机平台功能。在管理员的PowerShell里执行dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart然后重启电脑。安装完之后强烈建议确认一下当前WSL的版本是2而不是1。WSL1和WSL2的底层架构完全不同WSL2是真正的轻量级虚拟机Linux内核兼容性更好编译Docker镜像、跑一些偏底层的操作都不会有奇怪的问题。查看版本wsl -l -v如果显示的是Version 1执行升级wsl --set-version Ubuntu 2 wsl --set-default-version 2这里有一个容易踩的坑旧版本Windows的WSL内核不会自动更新新的WSL2功能可能不可用。遇到这种情况在PowerShell里跑一下wsl --update更新内核模块。我自己的经验是无论系统版本多新装完后习惯性先执行一次更新能省掉后面很多莫名其妙的报错。2.2 在WSL里装齐编译调试工具链WSL里默认的Ubuntu是极简环境C/C编译器、构建工具、调试器都没有。要配合CLion使用最少要安装这几样gcc、g、make、cmake、gdb、ninja-build。进入WSL终端直接在Windows开始菜单点Ubuntu图标即可执行sudo apt update sudo apt upgrade -y sudo apt install -y build-essential cmake ninja-build gdb这里说一下为什么需要这些工具build-essential是Ubuntu下编译C/C程序的基础包集合装了它gcc/g/make这些就都有了。cmake是给CLion用的核心构建工具CLion的整个项目模型都是基于CMake的没有它CLion连项目都加载不了。ninja-build是比make更快的构建器CLion默认会倾向使用Ninja装上有备无患。gdb是GNU调试器CLion的断点、变量查看、调用栈都需要调用它。装完后你可以跑一下gcc --version、cmake --version、gdb --version验证是否正常。这里有一个细节CLion的WSL工具链会去WSL环境里寻找这些命令的路径如果你安装的路径不在默认PATH里CLion可能会识别不到。Ubuntu默认装的都在/usr/bin下一般不会出问题但如果你自己编译源码装到了/usr/local或自定义目录那就需要在CLion里手动指定路径了。2.3 .wslconfig资源调优别忽略WSL2虽然动态分配内存但默认配置有时候不够智能。比如你开了一个Docker容器再跑CLion内存可能会突然飙升。解决办法是在Windows用户目录下创建一个.wslconfig文件手动限制WSL可以使用的资源。在文件资源管理器地址栏输入%UserProfile%回车然后新建一个文本文件命名为.wslconfig注意没有扩展名。内容可以参考我的配置[wsl2] memory8GB processors4 swap2GB localhostForwardingtrue然后重启WSL让配置生效wsl --shutdown这样WSL2最多占用8GB内存和4个CPU核心避免它把整个电脑资源吃光。localhostForwardingtrue这个配置也建议保留它允许你在Windows侧通过localhost访问WSL里启动的服务比如你在WSL里跑了一个Redis或者Web服务Windows侧可以直接连接。关于swap建议不要设得太小。我遇到过编译大项目时内存不够结果WSL直接退出进程的情况后来把swap提到2GB才算稳定。2.4 CLion里的Toolchain配置安装了CLion之后第一次打开一个项目最重要的设置就是Toolchain。在CLion里打开Settings - Build, Execution, Deployment - Toolchains默认会有一个系统自带的工具链通常是MinGW或者Visual Studio。我们需要新增一个WSL类型的工具链。点击右上角的选择WSL然后CLion会自动检测你安装的发行版。正常情况下它会自动填入CMake路径、C编译器路径、C编译器路径和调试器路径看起来像这样CMake:wsl://Ubuntu:/usr/bin/cmakeC Compiler:wsl://Ubuntu:/usr/bin/gccC Compiler:wsl://Ubuntu:/usr/bin/gDebugger:wsl://Ubuntu:/usr/bin/gdb如果发现哪个路径是空的可以点击旁边的文件夹图标通过WSL文件系统导航到对应位置。这里有一个比较关键的点CLion访问WSL不是通过SSH而是通过WSL API所以你不需要在WSL里安装ssh服务也不需要配置密钥。这也是它比远程开发模式省心的地方。配置完之后在Settings - Build, Execution, Deployment - CMake里把默认的Profile关联到刚创建的WSL工具链。这样CLion加载CMakeLists.txt时就会用WSL里的CMake去解析生成的项目构建目录也会在WSL的Linux文件系统里。3. 实操用CLion创建并调试WSL里的Linux程序3.1 用CLion新建CMake项目并绑定WSL工具链环境准备好之后我们来实际操作一遍。打开CLion选择File - New Project左侧选择C Executable在Toolchain下拉菜单里选中刚才新建的WSL工具链然后填上项目名比如hello_linux点击创建。项目生成后目录结构大概是这个样子的hello_linux/ ├── CMakeLists.txt ├── main.cpp └── cmake-build-debug-wsl/注意这里CLion的构建目录名带着wsl后缀这说明它已经知道这个项目会用WSL工具链来构建。CMakeLists.txt里会自动生成一个简单的可执行目标cmake_minimum_required(VERSION 3.23) project(hello_linux) set(CMAKE_CXX_STANDARD 17) add_executable(hello_linux main.cpp)接下来把main.cpp改成一段简单的Linux系统调用代码验证编译环境是否正常。比如#include iostream #include unistd.h #include sys/utsname.h int main() { struct utsname info; uname(info); std::cout Running on info.sysname info.release std::endl; std::cout UID: getuid() std::endl; return 0; }这里用了unistd.h和sys/utsname.h它们是Linux系统编程的常用头文件在Windows本地工具链下会报错但到了WSL里就能正常编译。这个例子可以快速验证你当前到底用的是哪套工具链。3.2 编译、运行观察CLion到底在做什么直接点击右上角的绿色运行按钮CLion会开始加载CMake并构建项目。第一次构建时右下角的进度条会显示CMake正在运行。如果你打开底部的Build窗口会看到类似这样的日志信息/usr/bin/cmake --build /home/your_name/hello_linux/cmake-build-debug-wsl --target hello_linux -j 6 [ 50%] Building CXX object CMakeFiles/hello_linux.dir/main.cpp.o [100%] Linking CXX executable hello_linux这些日志里的/usr/bin/cmake、/home/your_name/...路径说明所有构建操作都发生在WSL的Linux文件系统内。点击运行后程序输出会再CLion的Run窗口里显示。你会看到Running on Linux ...这样的输出同时getuid()返回的也不是Windows用户ID而是WSL里的Linux用户ID。到这里CLion WSL2的整个链路就已经完全打通了。这里我想提醒一个经验很多人一开始会把项目放在Windows的某个磁盘目录下比如D:\code\hello_linux。这样CLion也能编译运行但性能会有明显损耗因为WSL2访问/mnt/d/...这种跨文件系统的路径IO开销比访问Linux原生文件系统/home/your_name/...大很多。项目规模小还好一旦代码文件多、依赖库多构建速度会有肉眼可见的差异。我的做法是把项目直接放在WSL的用户目录里Windows侧通过\\wsl$\Ubuntu\home\your_name\hello_linux这个路径用资源管理器查看或编辑两边互不耽误。3.3 同一项目多个目标程序的编译与调试配置在实际开发中一个CMake项目里往往不止一个可执行文件可能是几个测试程序、一个主程序、几个工具程序同时存在。CLion对这种情况的处理很顺手但有几个细节需要讲清楚。假设CMakeLists.txt里声明了两个可执行目标add_executable(main main.cpp) add_executable(test_tool test_tool.cpp)CLion会自动在右上角的运行配置下拉框里生成两个配置main和test_tool。你可以分别选择运行或调试其中的任意一个互不干扰。但如果你希望同时调试两个目标程序比如主程序和测试工具需要并发跑起来联调那就需要一点额外操作了。我的做法是在Run/Debug Configurations窗口里分别对main和test_tool进行调试配置然后点击运行窗口左侧的加号选择Compound类型把这两个目标都放进同一个Compound配置里。这样我只需要点一次调试按钮CLion就会同时启动两个调试会话分别跑两个目标程序。调试多个目标时要注意断点的区分。CLion的断点默认是全局生效的也就是说如果main和test_tool都调用了同一个函数你在那个函数上打的断点可能会被两个进程同时命中。这时候可以让断点只在特定调试会话里生效右键断点在条件里写上类似getpid() 1234的过滤条件或者直接把断点设置到具体的源文件行号上减少误命中。我自己用得最多的多目标场景是“主程序 测试工具联调”。主程序启动一个TCP服务测试工具连接上来发请求我用两个调试会话分别看两边的调用栈和数据变化确实比打日志排查快太多了。3.4 调试时文件路径与权限问题的处理在WSL里调试还有一个需要留意的点文件权限。Windows和Linux的文件权限模型不一样通过/mnt/c访问共享盘时默认会有drwxrwxrwx这类宽松权限编译可能没问题但某些程序在运行时检查权限会直接报错。另外有些调试器命令在WSL里需要root权限才能访问某些内核信息。如果你在调试时遇到ptrace: Operation not permitted类似的问题多半是因为当前WSL用户对目标进程没有跟踪权限。解决办法是检查一下是否开启了WSL的systemd或者在WSL里执行sudo sysctl -w kernel.yama.ptrace_scope0这个命令允许所有进程被跟踪调试。不过在完成调试后建议改回默认值避免安全风险。4. 进阶场景在CLion里为WSL配置JNI和Qt开发环境4.1 JNI开发让Java和C/C在WSL里顺畅通信很多后端项目会用到JNIJava Native Interface也就是从Java调用C/C编写的本地库。Windows和Linux下的JNI本地库不通用你经常需要为Linux单独编译一份.so文件。在CLion里配JNI环境我试过几次之后觉得最稳的步骤是这样的。先在WSL里安装JDKsudo apt install -y openjdk-17-jdk然后在CMakeLists.txt里用CMake自带的JNI查找模块find_package(JNI REQUIRED) include_directories(${JNI_INCLUDE_DIRS}) add_library(native-lib SHARED native.c) target_link_libraries(native-lib ${JNI_LIBRARIES})这样CLion加载CMake时就会自动找到WSL里的JDK头文件目录比如/usr/lib/jvm/java-17-openjdk-amd64/include/linux。你在native.c里写的JNI函数会有代码提示编译出来的.so文件也会直接生成在构建目录里。这里有几个细节值得注意。第一find_package(JNI)需要JAVA_HOME环境变量能找到JDK路径如果CLion报了Could NOT find JNI先检查WSL里echo $JAVA_HOME是否为空为空就手动导出一下。第二JNI生成的本地库是共享库CLion的默认运行配置不会直接运行它你需要另外写一个Java测试类来调用或者把运行配置改成执行一个调用这个.so的可执行程序。我个人的习惯是在同一个CMake项目里同时生成一个小的控制台测试程序链接这个JNI库这样就能直接在CLion里调试本地代码了。4.2 Qt开发在WSL里跑图形界面程序用CLion开发Qt程序其实很常见Windows上用MinGW套件、macOS上用ClangLinux上用GCC但如果你希望程序最终在Linux服务器上运行那在WSL里配置一套Qt工具链就很有必要。先在WSL里安装Qt的开发库sudo apt install -y qtbase5-dev qt5-qmake这条命令会安装Qt5的基础开发库和构建工具包含Widgets模块。然后修改CMakeLists.txtset(CMAKE_PREFIX_PATH /usr/lib/x86_64-linux-gnu/cmake) find_package(Qt5 COMPONENTS Widgets REQUIRED) add_executable(my_qt_app main.cpp) target_link_libraries(my_qt_app Qt5::Widgets)CMAKE_PREFIX_PATH 指向的是系统安装Qt5 CMake配置文件所在的目录不同Ubuntu版本路径可能略有差异建议在WSL里先确认一下find /usr -name Qt5Config.cmake根据输出结果修改prefix路径。关于GUI显示这里要特别说明如果你用的是Windows 11且系统较新WSL自带的WSLg功能可以直接把Linux图形界面程序弹出到Windows桌面上非常方便。如果是Windows 10则需要额外配置X Server转发这里容易涉及到网络和服务配置具体取决于你的系统版本相比WSLg会麻烦一些。所以如果你主要是开发Qt GUI程序建议优先在Windows 11环境下使用WSL2。4.3 多个CMake Profile的切换思路开发过程中经常会在Debug和Release之间切换甚至要在不同编译器版本之间切换。CLion的CMake Profile功能可以很好地解决这个问题。在Settings - Build, Execution, Deployment - CMake里你可以添加多个Profile每个Profile可以指定不同的工具链、不同的CMake选项。比如Debug-wsl使用WSL工具链并开启调试信息Release-wsl使用WSL工具链并开启优化。切换的时候只需要在IDE右上角下拉框选择对应的Profile即可CLion会自动重新加载CMake并构建对应的可执行文件。这个配置在做跨平台交叉验证时尤其有用。我有时候需要对比Windows和Linux环境下同一个算法的运行结果就会在CLion里同时配置两个Profile一个用Windows本地工具链一个用WSL工具链切换到哪个就构建哪个非常省时间。5. 常见问题与排查技巧实录5.1 编译失败Build Task Failed 的通用排查套路如果你在CLion里遇到Build task failed. Open the build window to view details.这样的报错不要慌这其实是一个笼统的提示真正有用的信息在Build窗口的详细日志里。我统计了一下自己遇到过的场景高频原因大概有这几类报错场景常见原因排查方向CMake加载失败WSL里没有安装cmake在WSL执行cmake --version编译器识别失败WSL里没有gcc/g执行gcc --version缺少则安装build-essential链接时报找不到库缺少对应依赖库检查target_link_libraries和WSL里的ldconfig -p构建缓慢或卡死项目放在Windows磁盘目录导致IO慢把项目拷贝到WSL的Linux文件系统磁盘空间不足WSL虚拟磁盘扩得太大使用wsl --shutdown后清理或扩展VHDX如果日志提示不明确我建议直接把构建目录删掉重新加载一次。CLion会在磁盘上生成一个类似cmake-build-debug-wsl的文件夹有时候CMake缓存损坏会导致各种奇怪的问题。操作路径是右键项目目录里的cmake-build-debug-wsl文件夹选择删除然后重新加载CMake项目。这个操作能解决至少一半的编译异常。另外如果CLion提示找不到Ninja但你确定WSL里已经装了ninja-build可能是CLion的WSL缓存没刷新。进入Settings - Build, Execution, Deployment - Toolchains点一下相同的WSL工具链让它重新探测一遍一般就能解决了。5.2 中文乱码问题不是程序的问题是编码环境不统一中文乱码在Windows做Linux开发时非常常见最典型的表现有两种源码里的中文注释变成一堆乱码或者程序运行后输出到控制台的中文变成了锟斤拷。这两种情况根源不一样。第一种是文件编码问题Windows简体中文版的默认编码是GBK而Linux环境默认是UTF-8。如果你在Windows记事本里写了中文注释另存为时没有选UTF-8传到WSL里就会出现乱码。解决方案是让项目所有源文件统一使用UTF-8编码。具体操作在CLion的Settings - Editor - File Encodings里把Global Encoding、Project Encoding、Default encoding for properties files全部设置为UTF-8同时勾选Transparent native-to-ascii conversion。第二种情况是运行输出乱码通常是Windows的控制台代码页和Linux程序输出编码不一致。当直接在WSL终端运行时Ubuntu默认UTF-8一般不会乱码。但如果你在CLion里用Windows本地工具链跑一个Linux风格的程序输出中文就可能出问题。这时候建议在处理命令行输出之前先确认当前控制台代码页然后在CLion的Run Configuration里给程序设置环境变量LANGen_US.UTF-8或LANGzh_CN.UTF-8让运行环境统一到UTF-8。还有一个经常被忽略的场景Windows下用压缩软件打包项目里面文件名包含中文传到WSL里解压后文件名全是乱码。这是因为压缩包内文件名是用GBK编码的而WSL里的unzip默认按UTF-8处理。解决办法是使用unzip -O CP936参数指定文件名编码或者在Windows侧用7-Zip以UTF-8格式重新打包。5.3 CLion连不上WSL或找不到发行版的排查CLion偶尔会出现WSL工具链检测不到发行版的情况。我遇到过的原因主要有三种第一种WSL服务没有启动。CLion虽然是自动探测但它需要WSL服务处于运行状态。如果CLion报连不上先打开一个WSL终端手动进入一次Ubuntu然后再回CLion重新探测。第二种WSL版本不是2。CLion新版虽然也支持WSL1但部分功能会受限建议统一使用WSL2。执行wsl -l -v确认如果是1按前面提到的方式执行wsl --set-version Ubuntu 2。第三种Windows旧版本WSL内核过旧。你可以在PowerShell里执行wsl --update wsl --shutdown更新完内核后重启WSL一般就能被CLion识别了。补充一个个人经验CLion的WSL工具链检测基于命令行工具路径如果你在WSL里使用snap或自定义目录安装了编译器CLion可能无法自动探测。解决办法是在Toolchain界面的Debugger、C Compiler、C Compiler三个字段手动填上具体路径路径格式写成wsl://Ubuntu:/usr/bin/gdb这样的形式。5.4 插件商店搜不到Continue插件给JetBrains插件市场换条路最近AI编程助手很火Continue也是其中之一。有些同学在CLion的插件市场里直接搜“Continue”搜不到其实大概率不是插件不存在而是JetBrains官方插件市场在国内网络环境下连接不稳定导致搜索结果不完整。这里我不推荐去相信那些乱七八糟的破解或者“第三方加速”方案最稳妥的办法有两个。第一个给CLion的插件仓库加一个镜像源。打开Settings - Plugins点击齿轮图标选择Manage Plugin Repositories...把JetBrains官方插件市场地址手动添加进去然后重启CLion再搜一次。具体添加哪个地址可以根据你自己的网络情况选择合适的镜像源这一步本质上就是把请求通道换得更顺畅。第二个也是最通用的办法直接到JetBrains插件市场官网搜索“Continue”插件下载对应的zip安装包。然后在CLion里打开Settings - Plugins点击齿轮图标选择Install Plugin from Disk...选中下载好的zip包即可安装。这种方式不依赖IDE里的搜索功能只要官网能访问就能装成功。这个技巧不光适用于Continue其他搜不到的插件比如某些主题、语言包都可以用同样的离线安装方式解决。我建议所有用JetBrains IDE的同学都记住这个操作路径。5.5 调试时单步执行或变量查看异常的两个细节先说单步执行异常。在WSL里调试时如果代码是在/mnt/c路径下也就是Windows盘上的项目gdb经常会因为符号表里的路径和实际路径不一致而跳转错乱。这是跨文件系统调试的一个经典坑。我曾经在一份Windows目录下的项目里打断点单步执行时跳到了一个完全无关的地址当时还以为是编译器优化问题后来把项目挪到/home目录下才彻底解决。所以如果调试表现不正常优先考虑项目位置是否在Linux原生文件系统上。再说变量查看。CLion的调试器对标准库的支持很友好但如果你在查看C的std::vector、std::map这类容器时只看到底层指针和成员变量那说明调试器缺少Pretty Printer配置。GDB专门有一套Python脚本用来美化标准库容器的输出CLion通常会自动加载。如果遇到没有加载的情况可以在WSL里确认是否安装了gdb的Python支持sudo apt install -y gdb python3然后重启CLion的调试会话一般变量窗口就会显示成人类可读的内容了。这个细节在排查复杂容器的数据时非常省心。最后再说一点个人体会我在实际使用中踩过几次坑之后现在的习惯是所有Linux相关项目一律放在WSL的用户目录下Windows侧只通过\\wsl$路径访问文件CLion里同时维护Windows和WSL两套工具链但默认全部用WSL构建和调试避免两个环境编码和路径差异干扰判断。刚开始从纯Windows开发切到这种混合模式确实需要一点适应期但只要把WSL2和CLion的环境配置理顺一次后面基本一劳永逸。如果你是刚接触这套组合我建议先从一个最简单的CMake项目开始跑通完整的“编辑-编译-运行-调试”流程然后再逐步引入JNI、Qt、第三方依赖库这些复杂元素。把每一层的报错都搞清楚比到处复制命令要靠谱得多。开发环境是拿来提升效率的不是拿来折腾人的找到一套自己用着顺手、能长期稳定运行的组合比追求工具的新版本更重要。

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价