Golang Go语言编译出现 该版本的 %1 与你运行的 Windows 版本不兼容 请查看计算机的系统信息

Golang Go语言编译出现 该版本的 %1 与你运行的 Windows 版本不兼容 请查看计算机的系统信息

今天想学习一下 golang 然后简单写了个小项目。测试运行的时候报错:

fork/exec C:\Users\ADMINI~1\AppData\Local\Temp\go-build109468398\b001\exe\shikigami.exe: This version of %1 is not compatible with the version of Windows you're running. Check your computer's system information and then contact the
software publisher.

然后我 Google 了一下,上面说是包名没写对 但是我的包名确实是正确的 package main 我折腾了很久 发现无果 重启后正常运行了 但是好景不长 过了大概几十分钟又是这个问题了.

这是我的环境

go version go1.14.2 windows/amd64
Windows10 1909 amd64
使用 Goland 2020.1

set GO111MODULE=auto set GOARCH=amd64 set GOBIN= set GOCACHE=E:\Go\buildcache set GOENV=C:\Users\Administrator\AppData\Roaming\go\env set GOEXE=.exe set GOFLAGS= set GOHOSTARCH=amd64 set GOHOSTOS=windows set GOINSECURE= set GONOPROXY= set GONOSUMDB= set GOOS=windows set GOPATH=C:\Users\Administrator\go set GOPRIVATE= set GOPROXY=https://goproxy.cn,https://gocenter.io,https://goproxy.io,direct set GOROOT=E:\Go set GOSUMDB=sum.golang.org set GOTMPDIR= set GOTOOLDIR=E:\Go\pkg\tool\windows_amd64 set GCCGO=gccgo set AR=ar set CC=gcc set CXX=g++ set CGO_ENABLED=0 set GOMOD= set CGO_CFLAGS=-g -O2 set CGO_CPPFLAGS= set CGO_CXXFLAGS=-g -O2 set CGO_FFLAGS=-g -O2 set CGO_LDFLAGS=-g -O2 set PKG_CONFIG=pkg-config set GOGCCFLAGS=-m64 -fmessage-length=0 -fdebug-prefix-map=C:\Users\ADMINI~1\AppData\Local\Temp\go-build977297266=/tmp/go-build -gno-record-gcc-switches

代码只是简单的 Hello World

各位有什么建议嘛


更多关于Golang Go语言编译出现 该版本的 %1 与你运行的 Windows 版本不兼容 请查看计算机的系统信息的实战教程也可以访问 https://www.itying.com/category-94-b0.html

18 回复

不想折腾的话,尝试下载一个旧点版本的 GO ?

更多关于Golang Go语言编译出现 该版本的 %1 与你运行的 Windows 版本不兼容 请查看计算机的系统信息的实战系列教程也可以访问 https://www.itying.com/category-94-b0.html


我试过 1.13.1 和 1.14 了 好像都是这样子的…

把编译出来的 exe 发来看看?

看样子你是用了 mingw64 编译?之前在网上见过类似的问题,用 mingw64 编译出来的文件 PE 头是错的。刚刚看了你发的 exe 也是这个样子,MZ 头没问题,但是 PE 头有问题。
我自己没遇到过这个问题,也不知道怎么解决。

用 tdm gcc



各位我试图换到 tdm gcc
然后我成功运行了一次 下一次就…
!(pic)[https://ae01.alicdn.com/kf/Ud88ba186d98e46969a505b9f8f5a7f39J.png]

我只能说类似问题听过几次了,不过和你遇到的有细微差异,别人是编译出来的 exe MZ 头正常,PE 头不正常,会被系统识别为 16 位程序,但你这个是连 MZ 头也不正常。
另外,我用英文搜了下 “mingw invalid pe header”,似乎没有找到相关问题,也不知道该用什么关键词搜索。

我也使用过类似的关键词查询 也没有搜到啥 感谢了

我甚至发现 这东西上传到哈珀啥信息都没有
https://habo.qq.com/file/showdetail?pk=ADcGZV1oB2cIMVs5U2I%3D

各位我重启后过了几个小时好像没毛病了 具体解决方法就是 安装 tdm gcc 就好了

感谢各位的帮助

Re: golang 这个好像会受到 模拟器 /虚拟机的影响 我开模拟器之前还是好好的 然后开了就不能跑了

你好, 我遇到跟你同样的问题, 事件 ID1109. 用的是 TDM-GCC, 不管是否开启 CGO_ENABLED 都会出现. 但重启后正常.
https://stackoverflow.com/questions/63010207/executable-binary-got-compatibility-problem

你装了腾讯模拟器 (其他的安卓模拟器)啥的吗

我没有安装, 但是我是玩 dnf 的时候会出现. 链接是我自己的记录, https://lonenso.github.io/2020/07/22/compatible-problem/, 我不知道他是否有模拟器的组件.

我也是玩这些游戏 /模拟器的时候 会出现这种奇奇怪怪的问题 然后我索性就不玩游戏了

在面对Golang(Go语言)编译时出现的“该版本的%1与你运行的Windows版本不兼容”错误时,这通常意味着你尝试运行的Go编译器或某个Go程序二进制文件与你的Windows操作系统版本不匹配。以下是一些解决步骤:

  1. 检查Windows版本: 确认你的Windows版本(如Windows 10、Windows 11等)以及是32位还是64位系统。这可以通过“设置”->“系统”->“关于”查看。

  2. 下载合适的Go编译器: 访问Golang的官方网站(golang.org),下载与你Windows版本(32位或64位)相匹配的Go编译器安装包。确保下载的是与你操作系统架构相符的版本。

  3. 重新安装Go: 如果已经安装了Go,尝试卸载后重新安装正确版本的Go编译器。

  4. 检查环境变量: 确保环境变量GOROOTGOPATH设置正确。GOROOT应指向Go安装目录,而GOPATH可以是你的工作区目录。

  5. 以管理员权限运行: 尝试以管理员权限运行你的Go程序或编译器,有时权限问题可能导致兼容性错误。

  6. 查看依赖: 如果你的Go程序依赖于特定的C/C++库或其他系统级依赖,确保这些依赖也与你的Windows版本兼容。

通过上述步骤,你应该能够解决Go语言编译时出现的版本不兼容问题。如果问题依旧,请检查是否有相关的错误日志或系统日志,以便进一步诊断。

回到顶部