go言語のgo.modのgo buildで起こるgccのエラーとか
go.modいっつもつまづくので忘備録残します。
まずディレクトリに移動してinitします(↓)
E:\Go>mkdir modtest E:\Go>cd modtest E:\Go\modtest>go mod init test/modtest go: creating new go.mod: module test/modtest
ここでgoファイルを作ります。
下のプログラムではFyneというライブラリを読み込んでます。
test.go
package main import ( "fyne.io/fyne/app" "fyne.io/fyne/widget" ) func main() { app := app.New() window := app.NewWindow("First Fyne") window.SetContent(widget.NewVBox( widget.NewLabel("Hello_world"), )) window.ShowAndRun() }
これではまだ読み込めてないのでgo buildします
っていってたらエラーでました。
function main is undeclared in the main package
どゆこと?
ですがgo.modには読み込まれているみたいです。
vscodeだと1行目上部に Create vendor directory というのがあったのでこれを押してみるとエラーがなくなりました。
ってことでもう一度 go build を実行してみます。
running gcc failed: exit status 1
色々調べてみたところ、cygwinでgccを使っていることが原因かもしれないということで、mingwのgccをインストールしました。
go.modの中身を test/modtest から test/mods に変えたら無事ビルド出来ました。
同じフォルダ名であったことが問題だったのかもしれません。
終わり。じゃーね