首页 > 系统相关 >go语言window|mac|linux下交叉编译其他平台的软件包

go语言window|mac|linux下交叉编译其他平台的软件包

时间:2023-11-18 15:45:08浏览次数:35  
标签:amd64 CGO ENABLED window mac GOARCH linux go GOOS

go语言window|mac|linux下交叉编译其他平台的软件包

注意:go1.17 发现直接使用set 是不起作用的, 必须要使用go env -w 来设置

一、设置编译环境,需要发布哪个平台

Window下

1、 设置Linux编译环境
SET CGO_ENABLED=0
set GOARCH=amd64
set GOOS=linux
2、设置Mac编译环境
go env -w  CGO_ENABLED=0
go env -w  GOOS=darwin
go env -w  GOARCH=amd64

 

 

 

Linux下

# Mac
CGO_ENABLED=0 GOOS=darwin GOARCH=amd64 go build filename.go
 
# Windows
CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build filename.go

 

Mac下

# Linux
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build filename.go
 
# Windows
CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build filename.go
如: CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build -o helloworld-windows helloworld.go

 

 

二、开始编译

go build -o ./"要生成的文件 .\源代码

设置环境后,在自己的命令行窗口运行 go env命令,查看你刚刚修改的参数是否修改了,修改后,即可进行编译;

 来源:http://www.shanhubei.com/archives/2848.html

标签:amd64,CGO,ENABLED,window,mac,GOARCH,linux,go,GOOS
From: https://www.cnblogs.com/shanhubei/p/17840613.html

相关文章

  • linux练习-1
    文件打包、压缩、解压1.tar打包命令使用tar命令将当前目录下的oldFile1和oldFile2文件打包成一个oldFile.tar文件;使用tar命令将当前目录下的oldFile.tar文件解压到当前目录下。2.文件压缩命令使用tar命令将当前目录下的oldFile1和oldFile2文件打包压缩成一个newFile.tar.gz......
  • linux学习-5
    文件查找、打包压缩及解压文件查找Which:在环境变量PATH设置的目录中查找符合条件的命令文件,可查看其是否存在以及执行的位置。Locate:让用户快速查找到所需要的文件或目录。它不搜索全部数据信息,而是搜索数据库/var/lib/mlocate/mlocate.db。(该数据库包含本地系统内所有文件名......
  • 4.6 Windows驱动开发:内核遍历进程VAD结构体
    在上一篇文章《内核中实现Dump进程转储》中我们实现了ARK工具的转存功能,本篇文章继续以内存为出发点介绍VAD结构,该结构的全程是VirtualAddressDescriptor即虚拟地址描述符,VAD是一个AVL自平衡二叉树,树的每一个节点代表一段虚拟地址空间。程序中的代码段,数据段,堆段都会各种占用一......
  • 使用 ABAP + OLE 消费 Windows DLL 文件里的代码和服务
    在SAPABAP中,我们可以使用OLE(ObjectLinkingandEmbedding)技术来实现对WindowsDLL文件的代码和服务的消费。以下是一个详细的解决方案:首先,我们需要明确OLE技术在ABAP中的应用。OLE是由微软开发的一种技术,它允许对象(即应用程序功能)被嵌入到其他应用程序中。在ABA......
  • Linux命令(124)之ssh
    linux命令之ssh1.ssh介绍linux命令ssh是linux客户端连接工具,用来登录linux2.ssh用法ssh[参数]选项ssh常用参数参数说明-p指定远程服务器上的端口-l指定连接远程服务器的登录用户名3.实例3.1.通过指定端口和用户名连接远程服务器命令:ssh-lroot192.168.10.244-p22[root@rhel7......
  • 4.3 Windows驱动开发:监控进程与线程对象操作
    在内核中,可以使用ObRegisterCallbacks这个内核回调函数来实现监控进程和线程对象操作。通过注册一个OB_CALLBACK_REGISTRATION回调结构体,可以指定所需的回调函数和回调的监控类型。这个回调结构体包含了回调函数和监控的对象类型,还有一个Altitude字段,用于指定回调函数的优先级。优......
  • 4.4 Windows驱动开发:内核监控进程与线程创建
    当你需要在Windows操作系统中监控进程的启动和退出时,可以使用PsSetCreateProcessNotifyRoutineEx函数来创建一个MyCreateProcessNotifyEx回调函数,该回调函数将在每个进程的创建和退出时被调用。PsSetCreateProcessNotifyRoutineEx用于在系统启动后向内核注册一个回调函数,以监视......
  • 4.5 Windows驱动开发:内核中实现进程数据转储
    多数ARK反内核工具中都存在驱动级别的内存转存功能,该功能可以将应用层中运行进程的内存镜像转存到特定目录下,内存转存功能在应对加壳程序的分析尤为重要,当进程在内存中解码后,我们可以很容易的将内存镜像导出,从而更好的对样本进行分析,当然某些加密壳可能无效但绝大多数情况下是可以......
  • mac环境配置
    homebrew https://zhuanlan.zhihu.com/p/90508170  nvm安装https://www.jianshu.com/p/6939619c9564  nvm https://www.cnblogs.com/AAmao/p/15424498.html  下载gitclonehttps://github.com/nvm-sh/nvm.git cdnvm ./install.sh vi~/.zshrc.item2 htt......
  • Linux 中 shell脚本统计fasta文件中每一条染色体的长度
     001、借助数组实现[root@pc1test]#lsa.fa[root@pc1test]#cata.fa##测试fasta文件>chr1aattccggttcc>chr2ttccc>chr3tttccct##统计脚本[root@pc1test]#awk'{if($0~/^>/){tmp=$0;ay[tmp]=0}else{ay[tmp]+=......