命令简记

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. LeetCode Weekly Contest 266

    第一题 题解:模拟题 class Solution { public: int countVowelSubstrings(string w) { int n = w.length(); int i = ...

  2. C# | VS2019连接MySQL的三种方法以及使用MySQL数据库教程

    本文将介绍3种添加MySQL引用的方法,以及连接MySQL和使用MySQL的教程 前篇:Visual Studio 2019连接MySQL数据库详细教程 \[QAQ \] 第一种方法 下载 Mysql ...

  3. Solon 1.5.67 发布,增加 GraalVm Native 支持

    Solon 已有120个生态扩展插件,此次更新主要为细节打磨: 添加 solon.extend.graalvm 插件,用于适配 graalvm native image 模式 从此,solon 进入 ...

  4. python实现开闭操作

    目录: 开闭操作的作用 (一)开操作 (二)闭操作 (三)开操作完成其他任务 (1)提取水平垂直线 (2)消除干扰线 (3)提取满足要求的形状 开闭操作的作用: (一)开操作(特点作用:消除噪点--- ...

  5. idea反编译失败 /* compiled code */的解决方法

    最近在研究源码,但是我的idea有点奇怪,有的文件可以反编译,但有的文件反编译后方法内容是 /* compiled code */,查了下说是反编译失败了,都说是插件的原因. 然后我看了下idea的插 ...

  6. [SQL]master..sysprocesses

    --https://docs.microsoft.com/zh-cn/sql/relational-databases/system-compatibility-views/sys-sysproces ...

  7. 学习 DDD 之消化知识!

    接触到DDD到现在已经有8个月份了,目前所维护的项目也是基于DDD的思想开发的,从一开始的无从下手,到现在游刃有余,学到不少东西,但是都是一些关键字和零散的知识,同时我也感受到了是因为我对项目越来越熟 ...

  8. 【知识详解】JAVA基础(秋招总结)

    JAVA基础 目录 JAVA基础 问:面向过程(POP)和面向对象(OOP)? 问:Python和Java的区别? 问:java的八大基本数据类型? 问:封装继承多态说一下? 问:方法和函数的区别? ...

  9. 洛谷 P7879 -「SWTR-07」How to AK NOI?(后缀自动机+线段树维护矩乘)

    洛谷题面传送门 orz 一发出题人(话说我 AC 这道题的时候,出题人好像就坐在我的右侧呢/cy/cy) 考虑一个很 naive 的 DP,\(dp_i\) 表示 \([l,i]\) 之间的字符串是否 ...

  10. Atcoder Grand Contest 023 E - Inversions(线段树+扫描线)

    洛谷题面传送门 & Atcoder 题面传送门 毒瘤 jxd 作业-- 首先我们不能直接对所有排列计算贡献对吧,这样复杂度肯定吃不消,因此我们考虑对每两个位置 \(x,y(x<y)\), ...