1. 程式人生 > >go build 不同系統

go build 不同系統

Golang 支援在一個平臺下生成另一個平臺可執行程式的交叉編譯功能。


Mac下編譯Linux, Windows平臺的64位可執行程式:


CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build test.go
CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build test.go
Linux下編譯Mac, Windows平臺的64位可執行程式:


CGO_ENABLED=0 GOOS=darwin GOARCH=amd64 go build test.go
CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build test.go
Windows下編譯Mac, Linux平臺的64位可執行程式:


SET CGO_ENABLED=0
SET GOOS=darwin3
SET GOARCH=amd64
go build test.go


SET CGO_ENABLED=0
SET GOOS=linux
SET GOARCH=amd64
go build test.go
 


GOOS:目標可執行程式執行作業系統,支援 darwin,freebsd,linux,windows
GOARCH:目標可執行程式作業系統構架,包括 386,amd64,arm


Golang version 1.5以前版本在首次交叉編譯時還需要配置交叉編譯環境:


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

相關推薦

go build 不同系統下的可執行文件

可執行 linu ebs 另一個 還需要 clas 項目 make darwin Golang 支持在一個平臺下生成另一個平臺可執行程序的交叉編譯功能。 1、Mac下編譯Linux, Windows平臺的64位可執行程序: $ CGO_ENABLED=0 GOOS=lin

go build 不同系統

Golang 支援在一個平臺下生成另一個平臺可執行程式的交叉編譯功能。 Mac下編譯Linux, Windows平臺的64位可執行程式: CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build test.go CGO_ENABLED=0

go build 通過檔名字尾實現不同平臺的條件編譯

go build 可以通過標籤或者檔名的字尾來提供條件編譯,這裡說下通過檔名的字尾來提供條件編譯 檔案命名約定可以在go build 包裡找到詳細的說明,簡單來說,就是原始檔包含字尾:_$GOOS.go,那麼這個原始檔只會在這個平臺下編譯,_$GOARCH.go也是如此。這兩個字尾可以結合在

linux系統go build報錯import cycle not allowed

重新安裝 ont osi 項目 div play 其中 ubuntu16 size go build 困擾我多時的 go 編譯報錯:循環導入,代碼肯定是沒問題的,網上查說重新安裝go 我覺得也不是太好的辦法 import cycle not allowed package

NODE_ENV=production關於不同系統的寫法

設置 env node 環境 pro clas port class nod 通過NODE_ENV可以來設置環境變量(默認值為development)。一般我們通過檢查這個值來分別對開發環境和生產環境下做不同的處理。可以在命令行中通過下面的方式設置這個值: linux &

go build 命令

歸檔 body 結果 代碼包 生成 標記 追加 編譯源碼 str go build命令簡介 1.用於編譯源碼文件或代碼包 2.編譯非命令源碼文件不會產生任何結果文件 3.編譯命令源碼文件會在該命令的執行目錄中生成一個可執行文件 4.執行該命令切不追加任何參數時,他會試圖把當

不同系統裏同一Customizing activity的顯示差異分析

custom sys sin 查看 dmi inf 二維 開關 admin 比如SAP HANA Live Reporting這個Customizing Activity,在System AG3裏不可見,但是在另一個系統QHD裏卻能使用。比較下列兩張圖的差異。 一種可能

the comparison report with policy in different MC.(不同系統之間的RFC調用)

ear des text lec dup orm div ssi pre *&---------------------------------------------------------------------* *& Report ZDM_ICM

親測GO環境搭建,理解go buildgo install、go get

net usr 方便 進制 方式 總結 所有 直接 app GO下載: GO語言中文網下載:https://studygolang.com/dl Mac下直接通過brew instatll go指令即可完成下載安裝 GO環境變量配置: $GOROOT=/usr/

inno 區分win7 win8 win8.1 win10 x64 x86不同系統,安裝不同驅動檔案的指令碼編寫

完整inno指令碼下載連結 https://download.csdn.net/download/wangxingxing321/10392692 一、為了簡化教程,我們使用inno打包的exe檔案是最簡單的HelloWorld.exe,如下圖

go buildgo install的區別

go build 通過go build加上要編譯的Go原始檔名,我們即可得到一個可執行檔案,預設情況下這個檔案的名字為原始檔名字去掉.go字尾。 $ go build hello.go $ lshello hello.go 當然

linux基礎篇(五):檔案歸檔與不同系統間的檔案傳輸

檔案歸檔 檔案歸檔,就是把多個檔案變成一個歸檔檔案,即將多個檔案打包起來 tar命令 Unix和類Unix系統上的壓縮打包工具,可以將多個檔案合併為一個檔案,打包後的檔名亦為“tar”。tar檔案格式已經成為POSIX標準,最初是POSIX.1-1988,當前是POSIX.1-2

go標準命令詳解0.1 go build

轉自:https://blog.csdn.net/u012210379/article/details/50443636 為了讓講解更具關聯性,也為了讓讀者能夠更容易的理解這些命令和工具,本教程並不會按照這些命令的字典順序講解它們,而會按照我們在實際開發過程中通常的使用順序以及它們的重要程度的順

go build命令使用體驗

首先是程式碼目錄結構 demo4.go package main import "flag" var name string func init() { flag.StringVar(&name, "name", "everyone"

SpringCloud一個實體類在不同系統中是否唯一

SpringCloud核心問題 在微服務架構中一個非常棘手的問題是:一個實體類在不同系統中是否唯一? 方案一 一個實體類在多個系統中存在 優點:       這樣可以極大的降低程序之間通訊

UITableView的subviews在不同系統版本的表現

tableView addSubView:在剛建立之後就addSubView的話.因為tableView是懶載入非同步reloaddata.在iOS10以後是先把這個View加到tableView上.reload之後的cell和header.footer都在該View的層級上面. 然而在

命令: go build

go help build 構建編譯由匯入路徑命名的包,以及它們的依賴關係,但它不會安裝結果. 使用 go build [-o 輸出名] [-i] [編譯標記] [包名] 如果引數為***.go檔案或檔案列表,則編譯為一個個單獨的包。 當編譯單個main包(檔

編譯go程式碼:go build

前幾天遇到個問題:程式碼在伺服器編譯以後想要kill的時候查詢很麻煩。 把原生代碼部署到伺服器(沒有使用容器), 我是這樣做的:把程式碼放到伺服器後編譯每個專案的main.go,執行如下命令: go build main.go 以上命令執行以後會生成一個main.e

react專案執行報錯之mac與windows不同系統的差別

在實際專案開發過程中,我們從git上拉取的程式碼,在不同的作業系統,npm 安裝的依賴包,裡面是有區別的(如bin資料夾,sass資料夾);所以需要注意不同的依賴包版本問題; 報錯1:react-app-rewired 不是內部命令 原因:可能在windows系統,直接引用了mac系統下

golang學習------golang的目錄管理以及go install,go build的使用

一個優秀的專案離不開良好的程式碼管理,golang通過package提供一些程式碼的管理封裝,那麼我們應該如何來設計我們的程式碼結構呢? 我們假設我們需要完成一個專案,專案的功能如下: 在基於package的目錄思路下,目錄結構如下 在main資料夾中實現pac