zoukankan      html  css  js  c++  java
  • Go语言Mac、Linux、Windows 下交叉编译

    在很多时候,由于开发的方便,会有这样的场景出现,使用Mac开发或使用Windows开发,需要编译成Linux系统的执行文件,那么如何做到?Go语言提供了非常方便的命令行操作,即可实现。

    1、Mac下编译Linux, Windows

    # Linux
    CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build filename.go
     
    # Windows
    CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build filename.go
    

    2、Linux下编译Mac, Windows

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

    3、Windows下编译Mac, Linux

    # Mac
    SET CGO_ENABLED=0
    SET GOOS=darwin
    SET GOARCH=amd64
    go build filename.go
     
    # Linux
    SET CGO_ENABLED=0
    SET GOOS=linux
    SET GOARCH=amd64
    go build filename.go
    

    4、参数说明

    查看环境:

        $> go env
        set GOARCH=amd64
        set GOBIN=
        set GOCACHE=C:UsersboyHanAppDataLocalgo-build
        set GOEXE=
        set GOHOSTARCH=amd64
        set GOHOSTOS=windows
        set GOOS=linux
        set GOPATH=C:Goworkspacestudysrc
        set GORACE=
        set GOROOT=C:Go
        set GOTMPDIR=
        set GOTOOLDIR=C:Gopkg	oolwindows_amd64
        set GCCGO=gccgo
        set CC=gcc
        set CXX=g++
        set CGO_ENABLED=0
        set CGO_CFLAGS=-g -O2
        set CGO_CPPFLAGS=
        set CGO_CXXFLAGS=-g -O2
        set CGO_FFLAGS=-g -O2
        set CGO_LDFLAGS=-g -O2
        set PKG_CONFIG=pkg-config
        set GOGCCFLAGS=-fPIC -m64 -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=C:UsersboyHanAppDataLocalTempgo-build162645406=/tmp/go-build -gno-record-gcc-switches
    
    

  • 相关阅读:
    20110825 talk 1
    [原]spring学习笔记9.1.2Spring对Aop的概念性介绍
    [转]Servlet总结
    有关锁
    [转]java中hashcode()和equals()的详解
    转置
    [转]JNDI到底是什么,有什么作用
    前端(js/css/html)那些小的知识点,持续更新......
    积累的一些常用javascript函数
    25大实用的jQuery技巧和解决方案
  • 原文地址:https://www.cnblogs.com/haima/p/12041833.html
Copyright © 2011-2022 走看看