go-crosscompile/README.md

41 lines
1.2 KiB
Markdown
Raw Normal View History

2023-08-30 21:14:10 +03:00
# 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