zoukankan      html  css  js  c++  java
  • Ubuntu下搭建Golang开发环境

    Golang安装及配置

    下载安装文件,当前最新版本为1.4.2,go1.4.2.linux-amd64.tar.gz 。

    将安装文件解压至指定目录:

    1 # sudo tar -zxvf go1.4.2.linux-amd64.tar.gz -C /usr/local/

    编辑 /etc/profile 文件添加环境变量:

    export GOROOT=/usr/local/go
    export GOBIN=$GOROOT/bin
    export PATH=$PATH:$GOBIN
    export GOPATH=$HOME/goproj

    重新编译 /etc/profile 文件,并尝试查看GO版本:

    1 # source /etc/profile
    2 # go version

    Golang交叉编译

    新建 hello.go 文件,内容如下:

    1 package main
    2 
    3 import (
    4     "fmt"
    5 )
    6 
    7 func main() {
    8     fmt.Println("Hello Golang!")
    9 }

    Go安装包中只打包了相应平台下的编译工具,为实现交叉编译,需要手动生成其他平台的编译工具。下面将生成 windows 64位编译器,打开 /usr/local/go/src/ ,执行如下代码,GOOS表示目标系统类型,GOARCH说明目标系统是32位(386)或64位(amd64):

    1 # sudo GOOS=windows GOARCH=amd64 ./make.bash

    命令执行成功后,会在 /usr/local/go/pkg/ 下生成相应平台的编译工具。

    接下来在LiteIDE中选择相应的目标平台,编译GO程序代码,结果如下:

    最后附上各平台GOOS和GOARCH参考:

    GOOS GOARCH OS
    linux 386/amd64/arm >= Linux2.6
    darwin 386/amd64 OS X (Snow Leopard + Lion)
    freebsd 386/amd64 >= FreeBSD 7
    windows 386/amd64 >= Windows 2000

    注:64位CentOS编译Linux32位程序异常

    # runtime/cgo
    在包含自 /usr/include/features.h:385 的文件中,
                     从 /usr/include/errno.h:29,
                     从 /usr/local/go/src/runtime/cgo/cgo.go:46:
    /usr/include/gnu/stubs.h:7:27: 错误:gnu/stubs-32.h:没有那个文件或目录

    解决方法:

    yum install glibc-devel.i686

      如果提示不能找到 -lgcc.s时,安装 libgcc.i686即可。

  • 相关阅读:
    Java条件语句之多重 if
    Java条件语句之 if...else
    equals和==的区别
    Java条件语句之 if
    Java中运算符的优先级
    Java中的条件运算符
    tp 推送微信的模板消息
    thinkphp 上传多张图片
    图片服务器和WEB应用服务器相分离的简单方案
    PHP无限级分类实现(递归+非递归)
  • 原文地址:https://www.cnblogs.com/nianhua/p/4391120.html
Copyright © 2011-2022 走看看