我常常遇到问题,使用go编译好的exe老是会遇到兼容性问题,在win10上运行的好好的,但是在win7、win server2008这样上运行就不行了,老是报错
go 编译后的exe 报错:
fatal error: kernel32.dll not found
runtime: panic before malloc heap initialized
找了很多原因没找到,以为是我编译的有问题,后来查询了资料才知道是go版本的原因,我使用的go版本是 1.21.3 ,官方查了才知道,go 1.21.3 其实已经放弃了与旧 Windows 版本的兼容性,所以编译后的exe是无法和低版本的windows无法兼容的,所以我换了一个 go 1.20 版本就解决了,但是我们经常需要切换 go 版本,所以这里推荐一个 go 版本管理工具:https://github.com/voidint/g
环境变量参考:https://blog.csdn.net/qq_45628733/article/details/128709926
其实不用卸载删除原来的go,只需要更改原来的环境变量即可,例如我就只删除了原来go的 /bin 的环境变量而已。