Win10/Win11 使用Wsl的Ubuntu 子系统搭建CGO环境,相当于Ubuntu下开发。GO环境CGO搭建,支持交叉编译

背景:

之前是使用Mac 开发,最近切换到win11下面。发现使用cgo编译有问题。

下面记载了我的使用方法。

环境:

 win11(win10理论一样)

 win11 安装了wsl2的环境,并且安装了ubuntu系统。

 在win11 上面安装了goland

 使用goland 访问wsl 中的ubuntu的环境。相当于在ubuntu下面进行go研发,编译。

环境搭建:

1.进入wsl,cmd等windows的命令行进入wsl子系统。(已经安装了ubuntu系统)

wsl

2. wsl的ubuntu系统内部,下载golang

wget https://golang.google.cn/dl/go1.21.4.linux-amd64.tar.gz

设置golang的环境变量。go_root, go_path 略

eg:放在/home/{user.home}下的某个目录。(便于在goland中可以选择到,如果在d:等盘符下面可能goland中选择不到)

/home/someUser/dev/go_root/go

3.win交叉编译(ubuntu中可以编译 win应用)

wget http://musl.cc/x86_64-w64-mingw32-cross.tgz

4. 编译linux x86 

wget http://musl.cc/x86_64-linux-musl-cross.tgz

5.

 上述的,3,4 的解压后 的bin目录加入 PATH中。

6. 使用path生效

source  ~/.bashrc

 7. windows环境 goland IDE

Setting》GO》GO_ROOT

设置GO_ROOT 指向 wsl下面路径:

eg:

\\wsl$\Ubuntu-22.04\home\someUser\dev\go_root\go1.21.4.linux-amd64\go

8。设置GO_PATH 也可以指向 wsl下面的某个目录

9. 代码拉取,在wsl的ubuntu的某个目录eg:someProject

10.goland 打开wsl子系统ubuntu下面的目录。File 》Open

eg:

\\wsl$\Ubuntu-22.04\home\someUser\someProject

好了配置好了,接下来的打开goland的命令行会发现在wsl子系统中的ubuntu命令行。

11.可以使用脚本编译:eg。build.sh

编译win exe文件命令示例 (wsl ubuntu下面执行命令)

#compile win demo

  go env -w CGO_ENABLED=1
  go env -w GOOS=windows
  go env -w GOARCH=amd64
  go env -w CC=x86_64-w64-mingw32-gcc
  go env -w CXX=x86_64-w64-mingw32-g++

  go build -x -v -ldflags "-s -w" -o  ..build/main.exe main.go

or 采用一行命令方式。

CGO_ENABLED=1 CC=x86_64-w64-mingw32-gcc CXX=x86_64-w64-mingw32-g++ GOOS=windows GOARCH=amd64 go build -x -v -ldflags "-s -w" -o  ../build/main-win.exe main.go

编译linux 执行文件.

   CC=x86_64-linux-musl-gcc CXX=x86_64-linux-musl-g++ CGO_ENABLED=1 GOOS=linux GOARCH=amd64 go build --ldflags "-extldflags -static" -o ../build/main-linux-x86 main.go

参考:

https://golang.google.cn

http://musl.cc

  • 11
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
W10的WSL(SubSystem for Linux)功能可以让Windows系统下安装一个兼容Linux的环境,其中包括Ubuntu,提供给开发者更为便捷的开发环境。本文将介绍搭建WSL Ubuntu开发环境的详细步骤。 首先,需要在Windows 10系统中启用WSL功能。具体操作为:进入“控制面板”-“程序”-“启用或关闭Windows功能”-勾选“适用于Linux的Windows子系统”并应用更改。 搭建WSL Ubuntu环境,也分为几个步骤。首先,在Microsoft store搜索Ubuntu并下载安装。安装完成后打开,系统会提示输入用户名和密码,这里输入的是为Ubuntu配置的用户名和密码。接着,建议及时更新系统,输入以下指令: ``` sudo apt update sudo apt upgrade ``` 之后就可以开始搭建环境了,可以根据需要安装和配置如下开发环境: 1. 安装python开发环境 输入以下指令: ``` sudo apt install python3 sudo apt install python3-pip ``` 2. 安装java开发环境 输入以下指令: ``` sudo apt install default-jre sudo apt install default-jdk ``` 3. 安装node.js环境 输入以下指令: ``` curl -sL https://deb.nodesource.com/setup_14.x | sudo -E bash - sudo apt-get install -y nodejs ``` 4. 安装vscode以及其它开发工具 在Windows系统中下载安装vscode,然后打开,按Ctrl+Shift+P调出命令面板,输入“WSL: 打开新的终端”,就可以在Ubuntu中打开vscode,实现兼容开发。 总结起来,搭建WSLUbuntu开发环境需要在Windows系统中启用WSL功能,下载安装Ubuntu,配置环境并安装开发工具。相比于直接在Windows系统中搭建开发环境WSL Ubuntu更能提升开发效率,同时在Windows和Linux之间切换也更加方便,对于需要同时开发两个系统的开发者来说是一个不错的选择。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值