zoukankan      html  css  js  c++  java
  • golang交叉编译

    本地开发环境是os x 服务器是linux,所以需要编译linux用的go程序,方法如下:
    各平台的GOOS和GOARCH参考

    OS ARCH OS versionv

    linux 386 / amd64 / arm >= Linux 2.6

    darwin 386 / amd64 OS X (Snow Leopard + Lion)

    freebsd 386 / amd64 >= FreeBSD 7

    windows 386 / amd64 >= Windows 2000

    $ cd /usr/local/go/src
    $ sudo CGO_ENABLED=0 GOOS=linux GOARCH=amd64 ./make.bash
    

    这里并不是重新编译Go,因为安装Go的时候,只是编译了本地系统需要的东西;而需要跨平台交叉编译,需要在Go中增加对其他平台的支持。所以,有 ./make.bash 这么一个过程。

    执行结果类似如下:

    sudo CGO_ENABLED=0 GOOS=linux GOARCH=amd64 ./make.bash
    Password:
    Building C bootstrap tool.
    
    cmd/dist
    Building compilers and Go bootstrap tool for host, darwin/amd64.
    
    lib9
    libbio
    libmach
    misc/pprof
    cmd/addr2line
    cmd/cov
    cmd/nm
    cmd/objdump
    cmd/pack
    cmd/prof
    cmd/cc
    ……
    pkg/text/template/parse
    pkg/text/template
    pkg/go/doc
    pkg/go/build
    cmd/go
    pkg/runtime (linux/amd64)
    Building packages and commands for host, darwin/amd64.
    
    runtime
    errors
    sync/atomic
    unicode
    unicode/utf8
    math
    sync
    unicode/utf16
    crypto/subtle
    io
    syscall
    ……….
    net/rpc/jsonrpc
    testing/iotest
    testing/quick
    Building packages and commands for linux/amd64.
    
    runtime
    errors
    sync/atomic
    unicode
    unicode/utf8
    math
    sync
    unicode/utf16
    ……..
    testing
    net/rpc/jsonrpc
    testing/iotest
    testing/quick
    
    Installed Go for linux/amd64 in /usr/local/go
    Installed commands in /usr/local/go/bin
    

    到源代码目录下执行:

    CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build sina.go
    

    不带前面参数的 go build 只是编译出开发环境适用的执行文件。

  • 相关阅读:
    python模块之StringIO/cStringIO(内存文件)
    python3之json模块使用
    使用chardet判断编码方式
    HBase笔记之远程Shell界面命令行无法删除字符的解决方案
    Linux命令之uptime
    Redis笔记之常用命令
    Spring Boot笔记之自定义启动banner
    Windows Live Writer博客草稿迁移的一种解决方案
    ActiveMQ笔记之安装(Linux)
    Impala笔记之通用命令
  • 原文地址:https://www.cnblogs.com/weidao/p/5640198.html
Copyright © 2011-2022 走看看