41 lines
1.2 KiB
Markdown
41 lines
1.2 KiB
Markdown
|
# Go Crosscompile
|
||
|
|
||
|
# Explanation
|
||
|
symbol() function in pkg/mypkg/symbol_linux.go and symbol_windows.go is different. When running and building program, GOOS choses right one. for more information run these in cmd/app/ directory:
|
||
|
```sh
|
||
|
go build .
|
||
|
./app
|
||
|
# Output:
|
||
|
#1+2=linux
|
||
|
#a/b/c
|
||
|
```
|
||
|
|
||
|
---
|
||
|
|
||
|
```sh
|
||
|
env GOOS=windows GOARCH=amd64 go build .
|
||
|
./app.exe
|
||
|
# Output:
|
||
|
# -Some random wine logs if running on linux with wine-
|
||
|
#1-2=windows
|
||
|
#a\b\c
|
||
|
```
|
||
|
---
|
||
|
```sh
|
||
|
file app*
|
||
|
# see information about executables
|
||
|
```
|
||
|
# HELP NEEDED
|
||
|
VSCode gives redecleration error when using same name as function names. How to solve this?
|
||
|
maybe see https://github.com/golang/go/issues/29202 ?
|
||
|
|
||
|
# Before trying
|
||
|
- make sure you have installed **wine** in your linux system
|
||
|
- or use a windows system too
|
||
|
|
||
|
# Resources
|
||
|
- https://www.digitalocean.com/community/tutorials/customizing-go-binaries-with-build-tags
|
||
|
- https://www.digitalocean.com/community/tutorials/building-go-applications-for-different-operating-systems-and-architectures
|
||
|
- https://www.digitalocean.com/community/tutorials/how-to-build-go-executables-for-multiple-platforms-on-ubuntu-20-04
|
||
|
- https://opensource.com/article/21/1/go-cross-compiling
|