回答編集履歴
3
optionミス修正
test
CHANGED
@@ -16,7 +16,7 @@
|
|
16
16
|
|
17
17
|
docker run --rm -it \
|
18
18
|
|
19
|
-
--mount source=$
|
19
|
+
--mount type=bind,source=$PWD,target=/work \
|
20
20
|
|
21
21
|
-w /work golang:alpine \
|
22
22
|
|
2
補足追記
test
CHANGED
@@ -2,9 +2,7 @@
|
|
2
2
|
|
3
3
|
|
4
4
|
|
5
|
-
gccツールチェインのソースを持ってきてクロスビルド用にgcc(MinGW-w64)を使ってビルドする必要がありますが、
|
5
|
+
gccツールチェインのソースを持ってきてクロスビルド用にgcc(MinGW-w64)を使ってビルドする必要がありますが、それはかなりハードルが高く時間も必要ですし、依存するライブラリもソースからビルドが必要になります。
|
6
|
-
|
7
|
-
それはかなりハードルが高く時間も必要ですし、依存するライブラリもソースからビルドが必要になります。
|
8
6
|
|
9
7
|
|
10
8
|
|
@@ -18,10 +16,16 @@
|
|
18
16
|
|
19
17
|
docker run --rm -it \
|
20
18
|
|
21
|
-
--mount
|
19
|
+
--mount source=${env:PWD},target=/work \
|
22
20
|
|
23
21
|
-w /work golang:alpine \
|
24
22
|
|
25
|
-
go build -
|
23
|
+
go build -o app
|
26
24
|
|
27
25
|
```
|
26
|
+
|
27
|
+
|
28
|
+
|
29
|
+
ただし、上記はCGOが絡んでいる場合、alpine-linuxでしか動かないバイナリになってしまいます。
|
30
|
+
|
31
|
+
動かしたいlinux-distributionに合わせたイメージでビルドするように調整してください。
|
1
補足
test
CHANGED
@@ -1,3 +1,27 @@
|
|
1
1
|
gcc(MinGW-w64)を使ってWindows以外のバイナリを出力することはできません。
|
2
2
|
|
3
|
+
|
4
|
+
|
5
|
+
gccツールチェインのソースを持ってきてクロスビルド用にgcc(MinGW-w64)を使ってビルドする必要がありますが、
|
6
|
+
|
7
|
+
それはかなりハードルが高く時間も必要ですし、依存するライブラリもソースからビルドが必要になります。
|
8
|
+
|
9
|
+
|
10
|
+
|
3
11
|
いまからならWSL2かDocker(Windows Home Editionの場合はWSL2が必要)を使うのがお勧めです!
|
12
|
+
|
13
|
+
|
14
|
+
|
15
|
+
例:
|
16
|
+
|
17
|
+
```shell
|
18
|
+
|
19
|
+
docker run --rm -it \
|
20
|
+
|
21
|
+
--mount type=bind,source=${PWD},target=/work \
|
22
|
+
|
23
|
+
-w /work golang:alpine \
|
24
|
+
|
25
|
+
go build -a -tags netgo -installsuffix netgo -o app
|
26
|
+
|
27
|
+
```
|