V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
The Go Programming Language
http://golang.org/
Go Playground
Go Projects
Revel Web Framework
SaigyoujiYuyuko
V2EX  ›  Go 编程语言

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

  •  
  •   SaigyoujiYuyuko ·
    SaigyoujiYuyuko233 · 2020-04-26 23:48:36 +08:00 · 5853 次点击
    这是一个创建于 1701 天前的主题,其中的信息可能已经有所发展或是发生改变。

    今天想学习一下 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

    各位有什么建议嘛

    17 条回复    2020-07-26 12:11:29 +08:00
    brader
        1
    brader  
       2020-04-26 23:55:03 +08:00
    不想折腾的话,尝试下载一个旧点版本的 GO ?
    SaigyoujiYuyuko
        2
    SaigyoujiYuyuko  
    OP
       2020-04-26 23:56:17 +08:00
    @brader 我试过 1.13.1 和 1.14 了 好像都是这样子的..
    ysc3839
        3
    ysc3839  
       2020-04-26 23:58:44 +08:00
    把编译出来的 exe 发来看看?
    ysc3839
        5
    ysc3839  
       2020-04-27 00:39:04 +08:00
    看样子你是用了 mingw64 编译?之前在网上见过类似的问题,用 mingw64 编译出来的文件 PE 头是错的。刚刚看了你发的 exe 也是这个样子,MZ 头没问题,但是 PE 头有问题。
    我自己没遇到过这个问题,也不知道怎么解决。
    ccav
        6
    ccav  
       2020-04-27 00:55:10 +08:00
    用 tdm gcc
    SaigyoujiYuyuko
        7
    SaigyoujiYuyuko  
    OP
       2020-04-27 09:22:46 +08:00
    @ysc3839
    @ccav
    各位我试图换到 tdm gcc
    然后我成功运行了一次 下一次就.....
    !(pic)[https://ae01.alicdn.com/kf/Ud88ba186d98e46969a505b9f8f5a7f39J.png]
    ysc3839
        8
    ysc3839  
       2020-04-27 09:41:09 +08:00 via Android
    @SaigyoujiYuyuko 我只能说类似问题听过几次了,不过和你遇到的有细微差异,别人是编译出来的 exe MZ 头正常,PE 头不正常,会被系统识别为 16 位程序,但你这个是连 MZ 头也不正常。
    另外,我用英文搜了下 "mingw invalid pe header",似乎没有找到相关问题,也不知道该用什么关键词搜索。
    SaigyoujiYuyuko
        9
    SaigyoujiYuyuko  
    OP
       2020-04-27 09:42:01 +08:00
    @ysc3839 我也使用过类似的关键词查询 也没有搜到啥 感谢了
    SaigyoujiYuyuko
        10
    SaigyoujiYuyuko  
    OP
       2020-04-27 09:42:46 +08:00
    我甚至发现 这东西上传到哈珀啥信息都没有
    https://habo.qq.com/file/showdetail?pk=ADcGZV1oB2cIMVs5U2I%3D
    SaigyoujiYuyuko
        11
    SaigyoujiYuyuko  
    OP
       2020-04-27 15:50:31 +08:00
    各位我重启后过了几个小时好像没毛病了 具体解决方法就是 安装 tdm gcc 就好了
    SaigyoujiYuyuko
        12
    SaigyoujiYuyuko  
    OP
       2020-04-27 15:50:48 +08:00
    感谢各位的帮助
    SaigyoujiYuyuko
        13
    SaigyoujiYuyuko  
    OP
       2020-04-28 21:47:35 +08:00
    Re: golang 这个好像会受到 模拟器 /虚拟机的影响 我开模拟器之前还是好好的 然后开了就不能跑了
    Lonenso
        14
    Lonenso  
       2020-07-22 08:58:26 +08:00
    你好, 我遇到跟你同样的问题, 事件 ID1109. 用的是 TDM-GCC, 不管是否开启 CGO_ENABLED 都会出现. 但重启后正常.
    https://stackoverflow.com/questions/63010207/executable-binary-got-compatibility-problem
    SaigyoujiYuyuko
        15
    SaigyoujiYuyuko  
    OP
       2020-07-25 17:05:52 +08:00
    @Lonenso 你装了腾讯模拟器 (其他的安卓模拟器)啥的吗
    Lonenso
        16
    Lonenso  
       2020-07-25 17:42:42 +08:00
    @SaigyoujiYuyuko 我没有安装, 但是我是玩 dnf 的时候会出现. 链接是我自己的记录, https://lonenso.github.io/2020/07/22/compatible-problem/, 我不知道他是否有模拟器的组件.
    SaigyoujiYuyuko
        17
    SaigyoujiYuyuko  
    OP
       2020-07-26 12:11:29 +08:00
    @Lonenso 我也是玩这些游戏 /模拟器的时候 会出现这种奇奇怪怪的问题 然后我索性就不玩游戏了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1143 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 23:39 · PVG 07:39 · LAX 15:39 · JFK 18:39
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.