Golang交叉编译
# pc平台
# CGO_ENABLED=0 GOOS=linux GOARCH=amd64
# 交叉编译:https://www.jianshu.com/p/c2a97f7910e9
# https://blog.csdn.net/panshiqu/article/details/53788067
# 配置在 https://github.com/Dreamacro/clash/blob/master/Makefile# m1 CGO_ENABLED=0 GOOS=darwin GOARCH=arm64 go build main.go
# linux CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build main.go
# windows CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build main.go
# mac go env -w GOOS=darwin
go env -w GOARCH=amd64
go env -w GOOS=linux
go env -w CGO_ENABLED=0
配置:https://github.com/Dreamacro/clash/blob/master/Makefile
1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
# android平台
# cgo
http://litang.me/post/golang-cgo/
https://chai2010.cn/advanced-go-programming-book/ch2-cgo/ch2-02-basic.html
.a文件: 静态链接库文件
.h文件: 头文件
# 参数
// #cgo CFLAGS: -DPNG_DEBUG=1 -I./include
// #cgo LDFLAGS: -L/usr/local/lib -lpng
// #include <png.h>
import "C"
CFLAGS 部分,-D 部分定义了宏 PNG_DEBUG,值为 1;-I 定义了头文件包含的检索目录
LDFLAGS 部分,-L 指定了链接时库文件检索目录,-l 指定了链接时需要链接 png 库
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# 文档
https://juejin.cn/post/6844903944808824845
# 虚拟机编译
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o frida_test
CGO_ENABLED=1 GOOS=linux GOARCH=amd64 go build -o sign_monitor_x86_64 ./cmd
# 可以编译成so
go tool dist list|grep android
# ndk
https://www.cnblogs.com/jing332/p/16671425.html
# arm真机编译
https://www.cnblogs.com/jing332/p/16671425.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15
上次更新: 2023-06-21 15:46:03