Windows11 WSL2(ubuntu)+Goland 交叉编译运行

本文详细描述了如何在Windows上安装和配置Linux子系统WSL2,包括安装Ubuntu、解决启动错误、安装Golang环境并确保其与Goland集成,以及处理logrus测试问题的技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

windows系统运行项目的时候总是有奇奇怪怪的bug,干脆装个linux算了

1. 安装WSL2

  • 开启windows的功能
    • 控制面板-程序-启用或关闭Windows功能
      • 虚拟机平台
      • 适用于Linux的Windows子系统
      • Windows虚拟机监控程序平台
        开启windows功能
  • 重启电脑
  • 下载ubuntu
    • 应用商店-搜索ubuntu-下载
  • 设置ubuntu
    • 首次打开,可能报错 “0x800701bc”
      更新内核(下载安装):https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi
    • 打开下载,设置用户名&密码
  • 迁移ubuntu(可选)
    • 打开命令行/Powershell

      wsl --shutdown
      wsl export Ubuntu E:\wsl2.tar
      wsl --unregister Ubuntu
      wsl --import Ubuntu E:\wsl2\ E:\wsl2.tar --version 2
      

2. 安装Golang环境

  • 在用户home目录,下载Golang包
    • https://dl.google.com/go/go1.19.12.linux-amd64.tar.gz
  • 安装
    tar -C /usr/local -xzf go1.19.12.linux-amd64.tar.gz
    mkdir go
    
  • 编辑 /etc/profile
     export GOROOT=/usr/local/go
     export GOPATH=$home/go
     export PATH=$PATH:/usr/local/go/bin
    
  • 重开一个终端测试一下环境变量的设置

3.Goland中采用wsl2环境进行编译

在这里插入图片描述

按照自己的路径进行配置,应用后进行编译。

PS,Goland的单元测试是在wsl2里编译,然后将测试输出文件拷贝到Goland的临时目录(windows的目录),wsl2里的Go调用windows下的测试输出文件运行单元测试。

PPS,测试代码里有logrus的建议使用命令行go test,不然可能出现“未运行任何测试”。

https://github.com/sirupsen/logrus/issues/1335
https://github.com/sirupsen/logrus/issues/1335

### 配置 Windows 11WSL2Ubuntu 发行版与 Visual Studio Code 的集成 要在 Windows 11 系统中实现 WSL2Ubuntu 发行版与 Visual Studio Code 的无缝集成,可以按照以下方法完成: #### 1. 安装必要的软件 确保已安装最新版本的 Visual Studio Code 和适用于 Linux 的扩展包。通过 Microsoft Store 或官方文档指南安装 WSL2 并启用其支持功能[^4]。 #### 2. 启动 WSL2 中的 Ubuntu 在 PowerShell 或命令提示符中运行 `wsl --install` 命令来初始化 WSL2 及默认发行版(通常是 Ubuntu)。如果已经安装了特定版本如 Ubuntu 18.04,则无需重新安装[^1]。 #### 3. 设置 VSCode 远程开发环境 - 打开 VSCode,进入 Extensions Marketplace (`Ctrl+Shift+X`) 搜索 “Remote – WSL”,然后点击安装该插件。 - 安装完成后重启应用程序以应用更改。 #### 4. 使用 VSCode 打开 WSL 文件夹 可以通过两种方式启动基于 WSL项目工作区: - 方法一:按快捷键组合 `Ctrl+K`, 接着按下 `Ctrl+W` 来切换到 WSL 工作空间; - 方法二:直接从终端内部执行命令 `code .` 将当前目录加载至编辑器实例内[^2]。 #### 5. 调试 C/C++ 应用程序 为了能够在 WSL 下顺利编译并调试 C/C++ 类型的应用程序,请先确认 GCC 编译工具链已被正确预设好。接着参照官方说明调整 launch.json 参数配置文件以便适配目标平台特性需求[^5]。 ```json { "version": "0.2.0", "configurations": [ { "name": "(gdb) Launch", "type": "cppdbg", "request": "launch", "program": "${workspaceFolder}/a.out", "args": [], "stopAtEntry": false, "cwd": "${fileDirname}", "environment": [], "externalConsole": true, "MIMode": "gdb", "miDebuggerPath": "/usr/bin/gdb", "setupCommands": [ { "description": "Enable pretty-printing for gdb", "text": "-enable-pretty-printing", "ignoreFailures": true } ], "preLaunchTask": "build" } ] } ``` 上述 JSON 片段定义了一个基本的 GDB 调试会话模板,其中包含了若干重要字段解释如下表所示: | 字段名 | 描述 | |------------------|----------------------------------------------------------------------| | name | 显示于 UI 列表中的名称 | | type | 表明使用的调试协议 | | request | 请求模式 | | program | 待调试可执行文件路径 | | args | 提供给被测程序的参数数组 | | stopAtEntry | 是否暂停于入口处 | | cwd | 当前工作目录 | | environment | 自定义环境变量 | | externalConsole | 控制台显示选项 | | MIMode | MI(Machine Interface)模式下的调试器类型 | | miDebuggerPath | 对应调试器的实际位置 | #### 注意事项 当遇到某些特定场景比如 GPU 加速计算框架 PyTorch CUDA 支持时可能还需要额外处理驱动兼容性和库链接等问题。 ---
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值