mac m1 go交叉编译

记录一次在mac 上go+sqllite3编译到centos使用

 

网上搜到安装

brew install FiloSottile/musl-cross/musl-cross

  但是很遗憾,报错

==> /opt/homebrew/opt/make/bin/gmake install TARGET=x86_64-linux-musl
Last 15 lines from /Users/baicai/Library/Logs/Homebrew/musl-cross/01.gmake:
  "_host_hooks", referenced from:
      gt_pch_save(__sFILE*) in libbackend.a(ggc-common.o)
      gt_pch_restore(__sFILE*) in libbackend.a(ggc-common.o)
      toplev::main(int, char**) in libbackend.a(toplev.o)
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
gmake[3]: *** [../../src_gcc/gcc/lto/Make-lang.in:81: lto1] Error 1
gmake[3]: *** Waiting for unfinished jobs....
rm gcc.pod
gmake[3]: Leaving directory '/private/tmp/musl-cross-20210625-6200-1rc908m/musl-cross-make-0.9.9/build/local/x86_64-linux-musl/obj_gcc/gcc'
gmake[2]: *** [Makefile:4361: all-gcc] Error 2
gmake[2]: Leaving directory '/private/tmp/musl-cross-20210625-6200-1rc908m/musl-cross-make-0.9.9/build/local/x86_64-linux-musl/obj_gcc'
gmake[1]: *** [Makefile:222: obj_gcc/gcc/.lc_built] Error 2
gmake[1]: Leaving directory '/private/tmp/musl-cross-20210625-6200-1rc908m/musl-cross-make-0.9.9/build/local/x86_64-linux-musl'
gmake: *** [Makefile:183: install] Error 2

  后台通过安装

 

https://github.com/messense/homebrew-macos-cross-toolchains

brew tap messense/macos-cross-toolchains

brew install x86_64-unknown-linux-gnu

 brew install aarch64-unknown-linux-gnu

  

编译

CGO_ENABLED=1 GOOS=linux CC=x86_64-unknown-linux-gnu-gcc CXX=x86_64-unknown-linux-gnu-g++ go build -a -installsuffix cgo -o app .

  编译成功以此记录

posted @ 2021-06-25 09:54  烟雨半生  阅读(1888)  评论(0编辑  收藏  举报