go编译可以指定os和arch
是的,Go 编译器支持通过环境变量来指定目标操作系统(OS)和架构(Arch)。这允许你为不同的平台交叉编译 Go 程序。你可以使用 GOOS 和 GOARCH 环境变量来指定目标系统。
例如,如果你想为 Linux 系统上的 ARM64 架构编译程序,你可以设置环境变量如下:
GOOS=linux GOARCH=arm64 go build这里是一些常见的 GOOS 和 GOARCH 的值:
- GOOS: - darwin- macOS
- linux- Linux
- windows- Windows
- freebsd- FreeBSD
- openbsd- OpenBSD
- netbsd- NetBSD
- dragonfly- DragonFly BSD
- solaris- Solaris
- android- Android
- ios- iOS (需要使用 cgo)
 
- GOARCH: - amd64- x86-64
- 386- x86-32
- arm- ARM 32位
- arm64- ARM 64位 (也称为- aarch64)
- ppc64- PowerPC 64位
- ppc64le- PowerPC 64位 Little Endian
- mips- MIPS 32位
- mipsle- MIPS 32位 Little Endian
- mips64- MIPS 64位
- mips64le- MIPS 64位 Little Endian
- s390x- IBM Z 系列
 
你可以在编译命令前设置这些环境变量,或者在命令行中直接指定它们,如上面的例子所示。这使得 Go 成为一个非常强大的语言,适用于多种平台的软件开发。
go编译可以指定os和arch的更多相关文章
- clang在编译时指定目标文件所需的最低macOS版本
		调研这个的原因,是因为有个同事在macOS 12.2上打包好的程序,放在macOS 10.15上运行时报错: Dyld Error Message: Symbol not found: __ZNKS ... 
- uboot的静默编译、指定编译目录、多核编译
		最近在移植uboot,发现每次看源代码,都有编译留下的.o 等各种文件,在百度中,找到了解决方法. 在顶层的Makefile文件中,大概80多行,有这么几句注释, # kbuild supports ... 
- Unsupported platform for fsevents@1.2.3: wanted {"os":"darwin","arch":"any"} (current: {"os":"win32","arch":"x64"})
		系统:win10 使用 npm 安装依赖时报错: Unsupported platform for fsevents@1.2.3: wanted {"os":"darwi ... 
- java_eclipse_设置全局编码_utf-8_编译class指定_运行jar乱码解决_不依赖环境
		简述: javac时指定 编码 UTF-8 [ javac -encoding UTF-8 Test.java],运行时 java 指定编码 UTF-8 这样就不会出现乱码问题[ javac ... 
- 工程文件csproj使用编译条件指定属性
		csproj工程文件中有很多xml格式的属性,比如PropertyGroup.ItemGroup,某些属性操作默认是全部的或者是当前编译条件的而已,当我们想指定某些属性只在某个编译条件下发生时就可以通 ... 
- 编译内核是出现:arch/arm/mm/tlb-v4wbi.S:64:error: too many positional arguments
		内核:Linux-3.4.2 编译内核出现arch/arm/mm/tlb-v4wbi.S:64:error: too many positional arguments 交叉工具链太老了,换新一点的. ... 
- Android源码中编译出指定jar包
		今天想把android源码/vendor/letv/frameworks/base/java下的源码编译成 framework-letv.jar供乐乐语音客户端使用,编译完后,发现jar包文件虽然生成 ... 
- gcc编译时指定链接库的查找目录
		gcc编译时,如果需要链接的库的目录不在标准目录,则需要通过将保护库的目录/aa/bb/cc通过-L/aa/bb/cc 添加到搜索路径中,如: gcc -o xmltest xml_test.cpp ... 
- nginx编译安装指定参数
		--prefix=/app/nginx # 安装目录 --conf-path=/app/nginx/conf/nginx.conf # 配置文件 --sbin-path=/app/nginx/sbin ... 
- 使用CMake,且在GCC编译时指定相对源代码路径选项BUG的问题
		CMake的build.make,每次都是cd xxx目录,然后再编译 而编译时,GCC会取当前路径保存进调试信息的DT_AT_comp_dir,GCC的编译器选项-fdebug-prefix-map ... 
随机推荐
- Linux 进程调度之schdule主调度器
			考虑到文章篇幅,在这里我只讨论普通进程,其调度算法采用的是CFS(完全公平)调度算法. 至于CFS调度算法的实现后面后专门写一篇文章,这里只要记住调度时选择一个优先级最高的任务执行 一.调度单位简介 ... 
- 安装seaborn
			第一步:安装scipy,因为seaborn依赖scipy,如何安装scipy我之前有说过,可以看我之前安装sklearn库的过程中有安装scipy的方法. 第二步:pip install seabor ... 
- vue前端开发仿钉图系列(1)高德地图的使用详解
			最近公司让参考钉图做图层模块相关的功能,很庆幸有机会细细研究地图相关的东西.因为手机端用的是高德地图,web端也使用高德地图.还是和往常一样,先贴上效果图. 步骤1.在高德开放平台注册信息,创建自己的 ... 
- centos7.9 安装 nodejs(包含安装fnm、更换yum源、升级 gcc、make、glibc、libstdc++)
			1.安装fnm (1)压缩包fnm-linux.zip搞到服务器上,我放在root里. (2)解压.设置权限 unzip fnm-linux.zip chmod 777 fnm (3)设置环境变量,添 ... 
- 分享一个很好用的代理转发工具:rinetd
			rinetd介绍: 安装与使用:https://zhuanlan.zhihu.com/p/530875131 注意事项: 1.如果发现配置中的端口在进程中没找到,那就是配置填写错误导致的,笔者就遇到过 ... 
- Python面向对象小备忘
			最近学到面向对象了,感觉到Python这方面的语法也有点神奇,这里专门归纳一下Python面向对象中我觉得比较重要的笔记. 本文目前有的内容:实例属性和类属性的访问,使用@property修饰器 实例 ... 
- [Windows]文件搜索利器Everything(附zip)
			前言 写代码过程中,老大突然发一条信息 老大:这周周报发一下. 我:好的. 然后我就 显示桌面 打开-我的电脑 找到E盘,找到周报文件夹 寻找到所有周报中今天的周报 复制发送 当我用上Everythi ... 
- IntelliJ IDEA 设置背景图片 随机快捷更换背景图片(附高清4K背景图N张)
			前言 开发过程枯燥乏味,何不为自己工作中添加点乐子呢,除了主题模板,我们可以设置IntelliJ IDEA 的背景图片,换个背景图,换个心情. IntelliJ IDEA 设置背景图片 注意: 必要的 ... 
- 3.6 Linux命令基本格式
			本节开始,我们不会再见到图形界面了,因为对服务器来讲,图形界面会占用更多的系统资源,而且会安装更多的服务.开放更多的端口,这对服务器的稳定性和安全性都有负面影响.其实,服务器是一个连显示器都没有的家伙 ... 
- (Redis基础教程之十三) 如何从命令行更改Redis的配置
			介绍 Redis是一个开源的内存中键值数据存储.Redis有几个命令,可让您即时更改Redis服务器的配置设置.本教程将介绍其中一些命令,并说明如何使这些配置更改永久生效. 如何使用本指南 本指南以备 ... 
