20130103 WindowsでのGOプログラムのコンパイル
1998 ワード
今日はbeegoライブラリをコンパイルしてみたついでにgoのインストール環境を勉強しました.
下解凍パッケージd:ディレクトリ下goディレクトリにインストールし、設定しました
GOROOT=D:\go
GOARCH=386
GOBIN=%GOROOT%\bin
D:goでディレクトリプロジェクトを作成し、プロジェクトHelloGOを作成します.
HelloGOのディレクトリ構造は次のとおりです.
HelloGO
----src
------HelloGO.go(beegoのテストです)
------pkg(オプション)
------bin(これはオプションですが、作成しないと生成に失敗します)
-----make.bat(srcの下のファイルをコンパイルするために使用される)
なぜならgoはbeegoのテストで、内容は以下の通りです.
go buildはヒントが少ない
ネット上で受け取ってmakeを使うことを発見します.batはGOPATHを設定し、設定すると自分のsrcとpkgの下に生成されます.
しかしbinディレクトリはどのように設定してもだめで、goに生成されます.exeディレクトリ、以下HelloGOで生成する.goディレクトリ.
./には生成されません.binディレクトリは、最後に手動で/binディレクトリを作成するのみで、go build-o%GOBIN%/HelloGOを使用します.exe HelloGo.go指定
全体的にbatの内容は以下の通りです.
この方法は正しいかどうか分かりませんが、少なくともコンパイルは問題なく、プログラムも正常に動作します.
以前にAsp、Aspを学ぶ必要はありません.Netのように環境を配置します.
私がGo言語を勉強することを刺激した大きな原因の一つです.
はい.
下解凍パッケージd:ディレクトリ下goディレクトリにインストールし、設定しました
GOROOT=D:\go
GOARCH=386
GOBIN=%GOROOT%\bin
D:goでディレクトリプロジェクトを作成し、プロジェクトHelloGOを作成します.
HelloGOのディレクトリ構造は次のとおりです.
HelloGO
----src
------HelloGO.go(beegoのテストです)
------pkg(オプション)
------bin(これはオプションですが、作成しないと生成に失敗します)
-----make.bat(srcの下のファイルをコンパイルするために使用される)
なぜならgoはbeegoのテストで、内容は以下の通りです.
// HelloGo
package main
import (
"github.com/astaxie/beego"
)
type MainController struct {
beego.Controller
}
func (this *MainController) Get() {
this.Ctx.WriteString("hello world, WEB ")
}
func main() {
beego.RegisterController("/", &MainController{})
//beego.HttpPort = 8080 // default
beego.Run()
}
go buildはヒントが少ない
github.com/astaxie/beego
パッケージ、go get-vを使用する必要がありますgithub.com/astaxie/beego
まずパケットをダウンロードし、デフォルトのGOPATHを使用すると、goディレクトリの下のsrcにパケットが驚き、pkgにインストールされ、これはシステムを汚染するに違いない.ネット上で受け取ってmakeを使うことを発見します.batはGOPATHを設定し、設定すると自分のsrcとpkgの下に生成されます.
しかしbinディレクトリはどのように設定してもだめで、goに生成されます.exeディレクトリ、以下HelloGOで生成する.goディレクトリ.
./には生成されません.binディレクトリは、最後に手動で/binディレクトリを作成するのみで、go build-o%GOBIN%/HelloGOを使用します.exe HelloGo.go指定
全体的にbatの内容は以下の通りです.
@echo off
setlocal
if exist make.bat goto ok
echo make.bat must be run from its folder
goto end
: ok
set OLDGOPATH=%GOPATH%
set GOPATH=%~dp0
set GOBIN=%GOPATH%\bin
gofmt -tabs=false -tabwidth=4 -w src
go get -v github.com/astaxie/session
go get -v github.com/russross/blackfriday
go get -v github.com/astaxie/beego
go build ./src/beego
go install beego
rmdir /S /Q %GOBIN%
mkdir %GOBIN%
go build -o %GOBIN%/HelloGo.exe ./src/HelloGo.go
:end
echo finishe
pause
この方法は正しいかどうか分かりませんが、少なくともコンパイルは問題なく、プログラムも正常に動作します.
以前にAsp、Aspを学ぶ必要はありません.Netのように環境を配置します.
私がGo言語を勉強することを刺激した大きな原因の一つです.
はい.