目录
  • 一、何为交叉编译
  • 二、交叉编译前的准备
    • 安装TDM-GCC
  • 三、简述交叉编译
    • 四、实练
      • 1. 默认编译
      • 2.交叉编译一个Arm+Linux
    • 小总结

      一、何为交叉编译

      简单地说,就是在一个平台上生成另一个平台上的可执行代码。同一个体系结构可以运行不同的操作系统;同样,同一个操作系统也可以在不同的体系结构上运行。

      二、交叉编译前的准备

      本文只介绍Windows平台下的Golang交叉编译

      安装TDM-GCC

      下载地址:http://tdm-gcc.tdragon.net/download
      安装完成后添加TDM-GCC中bin文件夹进环境变量。

      三、简述交叉编译

      Golang交叉编译(跨平台编译)的使用

      其实保存上面一幅图即可,需记住三个参数,GOOS(Go的目标系统),GOARCH(GO的目标架构)。
      设置完成后通过go env查看当前配置。

      注意:在不同的命令提示符(CMD)中或关闭重新打开命令提示符,所设置的GOOS和GOARCH是不互通的。也就是可以把GOOS和GOARCH理解为局部变量,不会保存。Golang默认每次build的都是当前系统和架构。

      四、实练

      1. 默认编译

      Golang交叉编译(跨平台编译)的使用

      当前是使用默认配置编译了一个Windows平台下的exe可执行文件,同样我们设置GOOS和GOARCH后再编译看看。

      2.交叉编译一个Arm+Linux

      Golang交叉编译(跨平台编译)的使用

      在Windows PowerShell中SET 命令似乎无效,有时间再详查什么原因,所以这一步用了CMD。
      设置完后同样再运行go bulid即可,就可以得到一个无后缀的linux可执行文件。

      Golang交叉编译(跨平台编译)的使用

      小总结

      记住3句代码,及其支持的系统。这个在第三节已经给出。

      SET GOOS=xxxSET GOARCH=xxxgo env
      声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。