命令简记

cd $GOROOT/src

cp -r $GOROOT /root/go1.4

CGO_ENABLED=0 GOOS=windows GOARCH=amd64 ./make.bash

操作记录

cd $GOROOT/src

root@ubuntu:/export/app/go/src# CGO_ENABLED=0 GOOS=windows GOARCH=amd64 ./make.bash
./make.bash: line 165: /root/go1.4/bin/go: No such file or directory
Building Go cmd/dist using /root/go1.4. ()
ERROR: Cannot find /root/go1.4/bin/go.
Set $GOROOT_BOOTSTRAP to a working Go tree >= Go 1.4.
root@ubuntu:/export/app/go/src# cp -r /export/app/go/ /root/go1.4 root@ubuntu:/export/app/go/src# CGO_ENABLED=0 GOOS=windows GOARCH=amd64 ./make.bash
Building Go cmd/dist using /root/go1.4. (go1.15 linux/amd64)
Building Go toolchain1 using /root/go1.4.
Building Go bootstrap cmd/go (go_bootstrap) using Go toolchain1.
Building Go toolchain2 using go_bootstrap and Go toolchain1.
Building Go toolchain3 using go_bootstrap and Go toolchain2.
Building packages and commands for host, linux/amd64.
Building packages and commands for target, windows/amd64.
---
Installed Go for windows/amd64 in /export/app/go
Installed commands in /export/app/go/bin

测试

package main

import (
"io/ioutil"
) func main() {
content := "看到有很多动物在天上飞,作为一只兔子,我也为此努力了大半生..." //如果文件a.txt已经存在那么会忽略权限参数,清空文件内容。文件不存在会创建文件赋予权限
ioutil.WriteFile("./a.txt",[]byte(content),0777)
}

前面是用root用户设置的,编译时可以用普通用户

hongyun@ubuntu:/export/wks/go/dbm_go/src/test/fil$ CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build ioutil.go
hongyun@ubuntu:/export/wks/go/dbm_go/src/test/fil$ ll
total 1632
drwxrwxr-x 2 hongyun hongyun 4096 12月 3 14:33 ./
drwxr-xr-x 18 hongyun hongyun 4096 12月 3 14:19 ../
-rwxrwxr-x 1 hongyun hongyun 1656320 12月 3 14:33 ioutil.exe*
-rw-rw-r-- 1 hongyun hongyun 341 12月 3 14:29 ioutil.go

将程序放到windows上,执行后会在当前目录下生成一个文件

别名

alias win="CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build "

这样编译windows程序就方便多

hongyun@ubuntu:/export/wks/go/dbm_go/src/test/fil$ win ioutil.go
hongyun@ubuntu:/export/wks/go/dbm_go/src/test/fil$ ll
total 1632
drwxrwxr-x 2 hongyun hongyun 4096 12月 3 14:37 ./
drwxr-xr-x 18 hongyun hongyun 4096 12月 3 14:19 ../
-rwxrwxr-x 1 hongyun hongyun 1656320 12月 3 14:37 ioutil.exe*
-rw-rw-r-- 1 hongyun hongyun 341 12月 3 14:29 ioutil.go

ubantu上编辑windows程序的更多相关文章

  1. 在 XenServer上调试windows程序

    WinDbg WinDbg is one of a number of tools available from Microsoft that can be used for debugging Wi ...

  2. 在OSX和Windows版本Docker上运行GUI程序

    看到很多人在Docker问题区讨论:如何在OS X和Windows的Docker上运行GUI程序, 随手记录几个参考资料: https://github.com/docker/docker/issue ...

  3. 如何实现在Windows上运行Linux程序,附示例代码

    微软在去年发布了Bash On Windows, 这项技术允许在Windows上运行Linux程序, 我相信已经有很多文章解释过Bash On Windows的原理, 而今天的这篇文章将会讲解如何自己 ...

  4. 从Azure上构建Windows应用程序映像

    从Azure上构建windows应用程序映像同构建Linux应用程序映像总体流程比较类似,可以参考上图Linux映像的制作发布等流程,具体细节又有所差别. 具体步骤如下: 从Azure管理平台上申请W ...

  5. Windows系统上release版本程序bug跟踪解决方案-.dmp文件。

    使用场景: Win32程序在release模式下编译完成,发送给最终用户使用时,我们的程序有时候也会出现崩溃的情况,这个时候如果能快速定位崩溃原因或提供一些程序崩溃时的状态信息,对我们解决问题将会带来 ...

  6. Windows 上的应用程序在运行期间可以给自己改名(可以做 OTA 自我更新)

    原文:Windows 上的应用程序在运行期间可以给自己改名(可以做 OTA 自我更新) 程序如何自己更新自己呢?你可能会想到启动一个新的程序或者脚本来更新自己.然而 Windows 操作系统允许一个应 ...

  7. Windows编程 Windows程序的生与死(上)

    引子 “Windows 程序分为‘程序代码’和‘UI(User Interface)资源’两大部份,两部份最后以RC编译器(资源编译器)整合为一个完整的EXE 文件.所谓UI 资源是指功能菜单.对话框 ...

  8. 在Mac OSX上运行Windows应用程序

    在Mac OSX中,借助wine,不需要安装虚拟机也可以运行Window应用程序. wine是一个在Linux和UNIX之上的,WIndows3.x和Windows APIs的实现.是运用API转换技 ...

  9. Windows程序内部运行机制 转自http://www.cnblogs.com/zhili/p/WinMain.html

    一.引言 要想熟练掌握Windows应用程序的开发,首先需要理解Windows平台下程序运行的内部机制,然而在.NET平台下,创建一个Windows桌面程序,只需要简单地选择Windows窗体应用程序 ...

随机推荐

  1. [WPF] 玩玩彩虹文字及动画

    1. 前言 兴致来了玩玩 WPF 的彩虹文字.不是用 LinearGradientBrush 制作渐变色那种,是指每个文字独立颜色那种彩虹文字.虽然没什么实用价值,但希望这篇文章里用 ItemsCon ...

  2. Linux&C open creat read write lseek 函数用法总结

    一:五个函数的参数以及返回值. 函数                                 参数                      返回值     open (文件名,打开方式以及读 ...

  3. 优客源创会 西安站 西邮Linux兴趣小组

    2016年5月19日晚7:00,优客源创会西安站在西安邮电大学长安校区东区教学楼FF305如期举行,西安邮电大学计算机学院教授.西邮Linux兴趣小组指导老师陈莉君.王小银老师和来自开源中国的周凯先生 ...

  4. yrm的安装和使用

    yrm的安装和使用 我们经常下载包的速度很忙有的还会卡住几十分钟,所以我们需要切换镜像,这样我们下载的速度会快很多 而yrm 是一个 yarn源管理器,允许你快速地在源间切换 安装 npm insta ...

  5. 南大《软件分析》课程笔记——Data Flow Analysis

    南大<软件分析>--Data Flow Analysis @(静态分析) 目录 数据流分析概述 数据流分析应用 Reaching Definitions Analysis(may anal ...

  6. mysql 存储ipv6

    自定义列 https://groups.google.com/g/sqlalchemy/c/lZw0GipVYFw https://docs.sqlalchemy.org/en/14/core/cus ...

  7. Flask搭建弹幕视频网站(1)

    说在前面 也不知道最后能不能完成网站,所以就想把这十多天来学习到的点点滴滴记录下来.学的越来越多,所谓全栈也是需要前端基础,越来越感受到压力,但是遇到一个问题就解决一个问题,慢慢习惯之后感觉也还行.说 ...

  8. python中jsonpath模块,解析多层嵌套的json数据

    1. jsonpath介绍用来解析多层嵌套的json数据;JsonPath 是一种信息抽取类库,是从JSON文档中抽取指定信息的工具,提供多种语言实现版本,包括:Javascript, Python, ...

  9. Maven 源码解析:依赖调解是如何实现的?

    系列文章目录(请务必按照顺序阅读): Maven 依赖调解源码解析(一):开篇 Maven 依赖调解源码解析(二):如何调试 Maven 源码和插件源码 Maven 依赖调解源码解析(三):传递依赖, ...

  10. [loj2586]选圆圈

    下面先给出比较简单的KD树的做法-- 根据圆心建一棵KD树,然后模拟题目的过程,考虑搜索一个圆 剪枝:如果当前圆[与包含该子树内所有圆的最小矩形]都不相交就退出 然而这样的理论复杂度是$o(n^2)$ ...